os.path.getsize() on Windows

Sean DiZazzo half.italian at gmail.com
Tue Mar 18 21:58:33 CET 2008


Hi all,

I'm seeing some behavior that is confusing me.  I often use a simple
function to tell if a file is growing...ie being copied into a certain
location.  (Can't process it until it's complete)  My function is not
working on windows, and I'm wondering if I am missing something
simple, or if I have just never tried this before.  Here's what I'm
trying to do:

def isGrowing(f, timeout):
        ssize = os.path.getsize(f)
        time.sleep(timeout)
        esize =os.path.getsize(f)
        return esize != ssize

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]

~Sean



More information about the Python-list mailing list