Mam plik tekstowy. Jak mogę sprawdzić, czy plik jest pusty, czy nie pusty?Python - Sprawdź, czy plik jest pusty, czy nie.
Odpowiedz
>>> import os
>>> os.stat("file").st_size == 0
True
import os
os.path.getsize(fullpathhere) > 0
Dla bezpieczeństwa może trzeba złapać 'OSError' i return false. – kennytm
Jaka jest różnica/zaleta przy użyciu tego stosunku do os.state ("plik"). St_size? –
Wygląda na to, że oba są takie same pod maską: https://stackoverflow.com/a/18962257/1397061 –
jeśli z jakiegoś powodu już otworzyć plik można spróbować to:
>>> with open('New Text Document.txt') as my_file:
... # I already have file open at this point.. now what?
... my_file.seek(0) #ensure you're at the start of the file..
... first_char = my_file.read(1) #get the first character
... if not first_char:
... print "file is empty" #first character is the empty string..
... else:
... my_file.seek(0) #first character wasn't empty, return to start of file.
... #use file now
...
file is empty
Zarówno getsize()
i stat()
rzuci wyjątek, jeśli plik nie istnieje. Ta funkcja zwróci Prawda/Fałsz bez rzucania:
import os
def is_non_zero_file(fpath):
return os.path.isfile(fpath) and os.path.getsize(fpath) > 0
Zdecydowanie jak użycie '' os.path.getsize() '' –
Istnieje warunek wyścigu, ponieważ plik może być usunięto między wywołaniami do 'os.path.isfile (fpath)' i 'os.path.getsize (fpath)', w takim przypadku proponowana funkcja spowoduje zgłoszenie wyjątku. – s3rvac
Lepiej spróbować złapać 'OSError' zamiast tego, jak zaproponowano [w innym komentarzu] (http://stackoverflow.com/questions/2507808/python-how-to-check-file-empty-or-not/15924160# comment2503155_2507819). – j08lue
Ok więc łączę ghostdog74's answer i komentarze, po prostu dla zabawy.
>>> import os
>>> os.stat('c:/pagefile.sys').st_size==0
False
False
oznacza nie pusty plik.
Warto więc napisać funkcję:
import os
def file_is_empty(path):
return os.stat(path).st_size==0
- 1. Sprawdź, czy plik jest pusty
- 2. Czy plik jest pusty sprawdź
- 3. Sprawdź, czy określony plik wejściowy jest pusty
- 4. Sprawdź, czy plik wejściowy jest pusty jquery
- 5. Sprawdź, czy obiekt jest pusty
- 6. Sprawdź, czy stdin jest pusty
- 7. Sprawdź, czy NSDictionary jest pusty
- 8. Sprawdź, czy NSMutableDictionary jest pusty?
- 9. Sprawdź, czy katalog jest pusty
- 10. Sprawdź, czy NumericUpDown jest pusty
- 11. Django CMS - sprawdź czy zastępczy jest pusty
- 12. Java - Sprawdź, czy JTextField jest pusty czy nie
- 13. Sprawdź, czy plik jest otwarty.
- 14. Sprawdź, czy numer NSN jest pusty
- 15. Sprawdź, czy ResultSet jest pusty w Javie
- 16. Sprawdź, czy atrybut CoreData jest pusty.
- 17. AS3: Sprawdź, czy słownik jest pusty.
- 18. Sprawdź, czy img src jest pusty jQuery
- 19. Sprawdź, czy reagują elementem jest pusty
- 20. Jquery Sprawdź, czy akapit jest pusty
- 21. Python: Sprawdź plik jest zablokowany
- 22. Sprawdź, czy plik jest złączem (w systemie Windows), czy nie?
- 23. Sprawdź, czy nie jest zerowy i czy nie jest pusty w skrócie Rails?
- 24. Jak sprawdzić, czy plik jest pusty?
- 25. Sprawdź, czy plik jest używany z VBS
- 26. Sprawdź, czy plik jest określonego typu.
- 27. Python/win32com - Sprawdź, czy program jest otwarty
- 28. Sprawdź, czy plik jest otwarty w Pythonie
- 29. Sprawdź, czy parametr jest modułem Python?
- 30. Python: Sprawdź, czy argument jest liczbą całkowitą
'stat.ST_SIZE' zamiast 6 – wRAR
też jest w porządku. ale nie chcę importować statystyk. Jest ona krótka i wystarczająco słodka, a wielkość na zwróconej liście nie zmieni się w najbliższym czasie. – ghostdog74
@wRAR: os.stat ("plik"). St_size jest jeszcze lepszy –