Python os.stat (nazwa_pliku) .st_size kontra os.path.getsize (nazwa_pliku)
Mam dwa fragmenty kodu, które mają zrobić to samo - siedzieć w pętli, dopóki plik nie zostanie zapisany. Oba są używane głównie do przesyłania plików przez FTP / SCP.
Jedna wersja kodu to robios.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]
Inna wersja robi toos.path.getsize()
:
size1,size2 = 0,0
while True:
size2 = os.path.getsize(file_name)
if size1 == size2:
break
else:
time.sleep(300)
size1 = size2
Widziałem wiele przypadków, w których użycie pierwszej metody informuje, że rozmiary są takie same, podczas gdy plik wciąż rośnie. Czy jest jakiś powód, dlaczegoos.stat()
nieprawidłowo zgłosiłby toos.path.getsize()
nie? Nie widzę żadnych błędów ani wyjątków.