8
我有兩段代碼都是要做同樣的事情 - 坐在循環中,直到文件完成寫入。它們都主要用於通過FTP/SCP進入的文件。Python os.stat(file_name).st_size vs os.path.getsize(file_name)
代碼的一個版本,它使用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()
不會呢?我沒有看到任何錯誤或異常回來。
嗯,那很奇怪。我將不得不深入研究代碼的其餘部分,但這很好理解。謝謝! – Valdogg21