Jeff, Just catching up after a week on vacation, but nobody seems to have picked this up so...
> I'm always disappointed when I find something that Python > doesn't handle in a platform independent way. That's often because the platforms all do it too differently! :-) > 1. I don't see a way to atomically open a file for writing if and > only > if it doesn't exist Doesn't the os.path.exists() function work on all platforms? > 2. I don't see a way to atomically open a file for writing and > obtain a > lock on the file. That's usually automatic on filesystems that support it. (And impossible on those that don't! - eg DOS/FAT) > 3. I don't see a platform independent way to obtain a lock > on a file. Not all platforms support file locking. And some platforms (eg. Windows) only support it on some filesystems (FAT32 up) > You have to do something goofy like > if sys.platform == win32: > import msvcrt > else: > import fcntl > and then similar things to call the correct functions with the > correct flags. You only have to do this on the rare occasions when you want to lock a file and you are not writing to it. Otherwise the act of writing should reate a lock, if possible. (Or so I, perhaps niaively, believe!) > Please let me know if I'm missing something Maybe os.path.exists() and maybe automatic locking on writes. HTH, and if not elicits other replies! -- Alan Gauld Author of the Learn to Program web site http://www.freenetpages.co.uk/hp/alan.gauld _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor