Diez B. Roggisch wrote: > Amir Michail schrieb: > > Paolo Pantaleo wrote: > >> 27 Aug 2006 00:44:33 -0700, Amir Michail <[EMAIL PROTECTED]>: > >>> Hi, > >>> > >>> Trying to open a file for writing that is already open for writing > >>> should result in an exception. > >>> > >>> It's all too easy to accidentally open a shelve for writing twice and > >>> this can lead to hard to track down database corruption errors. > >>> > >>> Amir > >>> > >>> -- > >>> http://mail.python.org/mailman/listinfo/python-list > >>> > >> Even if it could be strange, the OS usually allow you to open a file > >> twice, that's up to the programmer to ensure the consistency of the > >> operations. > >> > >> PAolo > >> > > > > But if this is usually a serious bug, shouldn't an exception be raised? > > executing "rm -rf /" via subprocess is usually also a bad idea. So? No > language can prevent you from doing such mistake. And there is no way to > know if a file is opened twice - it might that you open the same file > twice via e.g. a network share. No way to know that it is the same file. > > Diez
The scenario I have in mind is something like this: def f(): db=shelve.open('test.db', 'c') # do some stuff with db g() db.close() def g(): db=shelve.open('test.db', 'c') # do some stuff with db db.close() I think it would be easy for python to check for this problem in scenarios like this. Amir -- http://mail.python.org/mailman/listinfo/python-list