【发布时间】:2013-09-28 12:30:54
【问题描述】:
我有两段代码都是为了做同样的事情——在一个循环中,直到一个文件被写入。它们都主要用于通过 FTP/SCP 传入的文件。
代码的一个版本使用os.stat()[stat.ST_SIZE]:
size1,size2 = 1,0
while size1 != size2:
size1 = os.stat(file_name)[stat.ST_SIZE]
time.sleep(300)
size2 = os.stat(file_name)[stat.ST_SIZE]
另一个版本使用os.path.getsize():
size1,size2 = 0,0
while True:
size2 = os.path.getsize(file_name)
if size1 == size2:
break
else:
time.sleep(300)
size1 = size2
我见过多个使用第一种方法报告大小相同但文件实际上仍在增长的实例。 os.stat() 会错误地报告而os.path.getsize() 不会有一些根本原因吗?我没有看到任何错误或异常再次出现。
【问题讨论】:
标签: python python-2.6