Determining when a file has finished copying
Larry Bates
larry.bates at websafe.com`
Wed Jul 9 12:09:07 EDT 2008
writeson wrote:
> Hi all,
>
> I'm writing some code that monitors a directory for the appearance of
> files from a workflow. When those files appear I write a command file
> to a device that tells the device how to process the file. The
> appearance of the command file triggers the device to grab the
> original file. My problem is I don't want to write the command file to
> the device until the original file from the workflow has been copied
> completely. Since these files are large, my program has a good chance
> of scanning the directory while they are mid-copy, so I need to
> determine which files are finished being copied and which are still
> mid-copy.
>
> I haven't seen anything on Google talking about this, and I don't see
> an obvious way of doing this using the os.stat() method on the
> filepath. Anyone have any ideas about how I might accomplish this?
>
> Thanks in advance!
> Doug
The best way to do this is to have the program that copies the files copy them
to a temporarily named file and rename it when it is completed. That way you
know when it is done by scanning for files with a specific mask.
If that is not possible you might be able to use pyinotify
(http://pyinotify.sourceforge.net/) to watch for WRITE_CLOSE events on the
directory and then process the files.
-Larry
More information about the Python-list
mailing list