How to find out if another process is using a file
Donn Cave
donn at u.washington.edu
Thu Jan 18 15:02:11 EST 2007
In article <mailman.2878.1169141728.32031.python-list at python.org>,
"Gabriel Genellina" <gagsl-py at yahoo.com.ar> wrote:
> "Tom Wright" <tew24 at spam.ac.uk> escribió en el mensaje
> news:eoo6vd$33u$1 at gemini.csx.cam.ac.uk...
>
> > I'm writing a program which reads a series of data files as they are
> > dumped
> > into a directory by another process. At the moment, it gets sporadic bugs
> > when it tries to read files which are only partially written.
> >
> > I'm looking for a function which will tell me if a file is opened in
> > write-mode by another process - if it is, my program will ignore it for
> > now
> > and come back to it later. This needs to work on linux and windows. Mac
> > OS would be a bonus too. An os-independent solution would be good, but I
> > could write os-specific options and have it pick the appropriate one.
>
> Use os.open with the O_EXCL flag; will fail if the other process has the
> file still open (and will fail if another process is reading the file, too,
> not just if someone is writing).
O_EXCL fails if the file exists at all - whether closed or open.
Donn Cave, donn at u.washington.edu
More information about the Python-list
mailing list