Beispielfreigabe für die Verwendung von drei Methoden, um festzustellen, ob eine Datei oder ein Ordner in Python vorhanden ist

黄舟
Freigeben: 2017-07-27 15:54:56
Original
1540 Leute haben es durchsucht

In diesem Artikel werden drei Methoden vorgestellt, um mithilfe des OS-Moduls, der Try-Anweisung bzw. des Pathlib-Moduls festzustellen, ob eine Datei oder ein Ordner vorhanden ist. Interessierte Freunde, werfen wir einen Blick darauf

Bevor Sie Dateien lesen und schreiben, müssen Sie feststellen, ob die Datei oder das Verzeichnis vorhanden ist, da sonst bestimmte Verarbeitungsmethoden zu Programmfehlern führen können. Daher ist es am besten, vor dem Ausführen eines Vorgangs festzustellen, ob die Datei vorhanden ist.

Hier stellen wir drei Methoden vor, um festzustellen, ob eine Datei oder ein Ordner vorhanden ist, indem wir das OS-Modul, die Try-Anweisung bzw. das Pathlib-Modul verwenden.

1. Verwenden Sie das OS-Modul

Die Methode os.path.exists() im OS-Modul wird verwendet, um zu überprüfen, ob die Datei vorhanden ist existiert.

  • Bestimmen Sie, ob die Datei vorhanden ist


import os
os.path.exists(test_file.txt)
#True
os.path.exists(no_exist_file.txt)
#False
Nach dem Login kopieren
  • Bestimmen Sie, ob die Datei vorhanden ist Ordner existiert Es gibt


import os
os.path.exists(test_dir)
#True
os.path.exists(no_exist_dir)
#False
Nach dem Login kopieren

Es ist ersichtlich, dass mit der os.path.exists()-Methode Dateien und Ordner vorhanden sind das gleiche.

Tatsächlich gibt es bei dieser Methode immer noch ein Problem. Angenommen, Sie möchten überprüfen, ob die Datei „test_data“ vorhanden ist, aber unter dem aktuellen Pfad befindet sich ein Ordner mit dem Namen „test_data“, sodass es zu einer Fehleinschätzung kommen kann . Um dies zu vermeiden, können Sie Folgendes tun:

  • Überprüfen Sie die Datei nur


import os
os.path.isfile("test-data")
Nach dem Login kopieren

von Wenn bei dieser Methode die Datei „test-data“ nicht vorhanden ist, wird „False“ zurückgegeben, andernfalls wird „True“ zurückgegeben.

Auch wenn die Datei vorhanden ist, müssen Sie möglicherweise dennoch feststellen, ob die Datei gelesen und geschrieben werden kann.

Bestimmen Sie, ob die Datei gelesen und geschrieben werden kann

Verwenden Sie die Methode os.access(), um zu bestimmen, ob die Datei gelesen oder geschrieben werden kann.

Syntax:


os.access(, )
Nach dem Login kopieren

Pfad ist der Dateipfad, Modus ist der Betriebsmodus, es gibt verschiedene Typen:

  • os.F_OK: Überprüfen Sie, ob die Datei vorhanden ist;

  • os.R_OK: Überprüfen Sie, ob die Datei lesbar ist;

  • os.W_OK: Überprüfen Sie, ob die Datei geschrieben werden kann.

  • os Die Berechtigungen für jeden Zugriffsmodus geben „True“ oder „False“ zurück.


2. Verwenden Sie die Try-Anweisung
import os
if os.access("/file/path/foo.txt", os.F_OK):
  print "Given file path is exist."
if os.access("/file/path/foo.txt", os.R_OK):
  print "File is accessible to read"
if os.access("/file/path/foo.txt", os.W_OK):
  print "File is accessible to write"
if os.access("/file/path/foo.txt", os.X_OK):
  print "File is accessible to execute"
Nach dem Login kopieren

, um open() direkt im zu verwenden Programm Methode zum Überprüfen, ob die Datei vorhanden und lesbar und beschreibbar ist. Syntax:

Wenn die von Ihnen geöffnete Datei nicht existiert, gibt das Programm einen Fehler aus. Verwenden Sie die try-Anweisung, um diesen Fehler abzufangen .

Das Programm kann nicht auf die Datei zugreifen.
open()
Nach dem Login kopieren

Wenn die von Ihnen geöffnete Datei nicht vorhanden ist, wird eine FileNotFoundError-Ausnahme ausgelöst

  • Die Datei existiert, aber es gibt keine Berechtigung zum Zugriff darauf und es wird eine PersmissionError-Ausnahme ausgelöst.

  • Sie können also den folgenden Code verwenden, um festzustellen, ob die Datei vorhanden ist:

Tatsächlich gibt es keine Ich muss so detailliert damit umgehen. Jede Ausnahme, die beiden oben genannten Ausnahmen, sind Unterklassen von IOError. So kann das Programm vereinfacht werden:


try:
  f =open()
  f.close()
except FileNotFoundError:
  print "File is not found."
except PersmissionError:
  print "You don't have permission to access this file."
Nach dem Login kopieren

Verwenden Sie Try-Anweisungen, um Urteile zu fällen und alle Ausnahmen sehr einfach und elegant zu behandeln. Und im Vergleich zu anderen besteht keine Notwendigkeit, weitere externe Module einzuführen.


try:
  f =open()
  f.close()
except IOError:
  print "File is not accessible."
Nach dem Login kopieren
3. Verwenden Sie das Pathlib-Modul

Das Pathlib-Modul ist ein integriertes Modul in der Python3-Version, aber in Python2 ist es ein drittes Modul. Partymodule müssen separat installiert werden. Die Verwendung von pathlib erfordert zunächst die Verwendung des Dateipfads, um ein Pfadobjekt zu erstellen. Dieser Pfad kann ein Dateiname oder ein Verzeichnispfad sein.

Überprüfen Sie, ob der Pfad existiert


Überprüfen Sie, ob der Pfad ist Datei

path = pathlib.Path("path/file")
path.exist()
Nach dem Login kopieren


Zusammenfassung

path = pathlib.Path("path/file")
path.is_file()
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBeispielfreigabe für die Verwendung von drei Methoden, um festzustellen, ob eine Datei oder ein Ordner in Python vorhanden ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage