Ich habe eine Textdatei. Wie kann ich überprüfen, ob die Datei leer oder nicht leer ist?Python - Überprüfen Sie, ob eine Datei leer ist oder nicht
Antwort
>>> import os
>>> os.stat("file").st_size == 0
True
import os
os.path.getsize(fullpathhere) > 0
Sicherheitsgründen Sie 'OSError' fangen müssen kann und das Rück Falsch. – kennytm
Was ist der Unterschied/Vorteil mit dieser vs os.state ('Datei'). St_size? –
Sieht aus wie die beiden das gleiche unter der Haube sind: https://stackoverflow.com/a/18962257/1397061 –
wenn aus irgendeinem Grund hatten Sie bereits die Datei, die Sie versuchen, diese öffnen konnte:
>>> 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
Sowohl getsize()
und stat()
eine Exception aus, wenn die Datei nicht existiert. Diese Funktion gibt Wahr/Falsch, ohne zu werfen:
import os
def is_non_zero_file(fpath):
return os.path.isfile(fpath) and os.path.getsize(fpath) > 0
Auf jeden Fall wie mit '' os.path.getsize zu handhaben() '' –
Es gibt eine Race-Bedingung, da die Datei sein kann zwischen den Aufrufen von 'os.path.isfile (fpath)' und 'os.path.getsize (fpath)' entfernt, in welchem Fall die vorgeschlagene Funktion eine Ausnahme auslöst. – s3rvac
besser versuchen, die 'OSError' statt wie vorgeschlagen [in einem anderen Kommentar] (http://stackoverflow.com/questions/2507808/python-how-to-check-file-empty-or-not/15924160# zu fangen Kommentar2503155_2507819). – j08lue
Ok, damit ich ghostdog74's answer und die Kommentare kombinieren werden, nur so zum Spaß.
False
bedeutet eine nicht leere Datei.
wir also eine Funktion schreiben:
import os
def file_is_empty(path):
return os.stat(path).st_size==0
- 1. Überprüfen Sie, ob Sammlung leer ist oder nicht
- 2. Überprüfen Sie, ob das Array leer ist oder nicht
- 3. Überprüfen, ob die Textdatei leer ist Python
- 4. Überprüfen Sie, ob bestimmte Eingabedatei ist leer
- 5. Überprüfen, ob Realm leer ist?
- 6. Überprüfen, ob eine Ganzzahl leer ist
- 7. Überprüfen, ob NSNumber leer ist
- 8. Überprüfen, ob innerHTML leer ist
- 9. JSTL: überprüfen, ob eine Zeichenfolge leer ist
- 10. Überprüfen Sie, ob Argument eine Datei oder ein Verzeichnis ist
- 11. Überprüfen Sie, ob NSDate ein Datum enthält oder leer ist
- 12. Um zu überprüfen, ob ein Objekt leer ist oder nicht
- 13. überprüfen, ob NSTextField leer ist oder nicht OSX swift
- 14. Überprüfen, ob etwas leer ist
- 15. Python Pandas überprüfen, ob Dataframe nicht leer ist
- 16. Überprüfen Sie, ob eine Datenbankzelle zuerst leer ist
- 17. Python überprüfen, ob eine Liste verschachtelt ist oder nicht
- 18. Überprüfen, ob ArrayCollection leer ist
- 19. Überprüfen, ob NumericUpDown leer ist
- 20. Überprüfen, ob NSDictionary leer ist
- 21. Überprüfen, ob Stdin leer ist
- 22. tkinter Überprüfen Sie, ob Text-Widget leer
- 23. Django CMS - überprüfen, ob Platzhalter leer ist
- 24. Überprüfen Sie, ob die Benutzersitzung null ist oder nicht
- 25. Überprüfen, ob eine Datei ein Verzeichnis oder eine reguläre Datei in Python ist 2.7.11
- 26. Überprüfen, ob ResultSet leer ist in Java
- 27. Überprüfen, ob Variable gesetzt ist, nicht null und nicht leer
- 28. überprüfen, ob eine Datei ein Bild ist
- 29. Überprüfen Sie, ob eine Datei nicht geöffnet ist (nicht von anderen Prozessen verwendet) in Python
- 30. Überprüfen, ob eine Datei geöffnet ist
'stat.ST_SIZE' statt 6 – wRAR
, die zu fein ist. aber ich möchte nicht stat importieren. Es ist kurz und süß genug und die Größe der Liste wird sich in absehbarer Zeit nicht ändern. – ghostdog74
@wRAR. Os.stat (‚Datei‘) st_size ist noch besser –