os.path.getsize() on Windows
Duncan Booth
duncan.booth at invalid.invalid
Tue Mar 18 17:27:50 EDT 2008
Sean DiZazzo <half.italian at gmail.com> wrote:
> On windows, this returns the size of the file as it _will be_, not the
> size that it currently is. Is this a feature? What is the proper way
> to get the current size of the file? I noticed
> win32File.GetFileSize() Does that behave the way I expect?
>
> PS. I also tried os.stat()[6]
>
I think all of those will return the current size of the file, but that may
be the same as the final size: just because the data hasn't been copied
doesn't mean the file space hasn't been allocated. You don't say how you
are copying the file, but I seem to remember that Windows copy command pre-
allocates the file at its final size (so as to reduce fragmentation) and
then just copies the data after that.
If you need to make sure you don't access a file until the copy has
finished then get hwatever is doing the copy to copy it to a temporary
filename in the same folder and rename it when complete. Then you just have
to check for existence of the target file.
More information about the Python-list
mailing list