Heim  >  Artikel  >  Backend-Entwicklung  >  Python implementiert das Löschen von Dateien und Ordnern unter einem bestimmten Pfad

Python implementiert das Löschen von Dateien und Ordnern unter einem bestimmten Pfad

不言
不言Original
2018-04-24 13:43:375257Durchsuche

Das Folgende ist ein Beispiel für das Löschen von Dateien und Ordnern unter einem bestimmten Pfad in Python. Es hat einen guten Referenzwert und ich hoffe, dass es für alle hilfreich ist. Werfen wir gemeinsam einen Blick darauf

Python-Skript zum Implementieren des Löschens von Dateien und Ordnern unter einem bestimmten Pfad

#!/usr/bin/env python
import os
import shutil
delList = []
delDir = "/home/test"
delList = os.listdir(delDir )
for f in delList:
  filePath = os.path.join( delDir, f )
  if os.path.isfile(filePath):
    os.remove(filePath)
    print filePath + " was removed!"
  elif os.path.isdir(filePath):
  shutil.rmtree(filePath,True)
    print "Directory: " + filePath +" was removed!"

shutil ist ein Dateioperationsmodul auf hoher Ebene. Der Parameter „True“ gibt „ignore_errors“ an (Fehler beim Kopieren ignorieren).

ähnelt der High-Level-API und ihre Hauptstärke besteht darin, dass sie das Kopieren und Löschen von Dateien besser unterstützt.

[Anhang] Nutzung des OS-Moduls (Bibliothek)

Funktionen wie das Suchen und Löschen von Ordnern und Dateien sind im OS-Modul implementiert.

1. Holen Sie sich das aktuelle Verzeichnis

#1.1
s = os.getcwd()
# s 中保存的是当前的执行目录(即执行所在的文件夹)

[Hinweis]

Wenn Sie den Speicherort des aktuellen Verzeichnisses ermitteln möchten, in dem das Programm ausgeführt wird, können Sie die Funktion os.getcwd() des OS-Moduls verwenden.

Wenn Sie den Verzeichnisspeicherort des aktuell ausgeführten Skripts erhalten möchten, müssen Sie die Variable sys.path[0] oder sys.argv[0] des sys-Moduls verwenden, um

#1.2
import os
import time
folder = time.strftime(r"%Y-%m-%d_%H-%M-%S",time.localtime())
os.makedirs(r'%s/%s'%(os.getcwd(),folder))

2. Ändern Sie das aktuelle Verzeichnis

os.chdir( "/root/123")
#将当前目录设为 "/root/123"
#说明: 当指定的目录不存在时,引发异常。

3. Zerlegen Sie einen Pfadnamen in zwei Teile: Verzeichnisname und Dateiname

fpath , fname = os.path.split( "你要分解的路径")

Zum Beispiel:

a, b = os.path.split( "/root/123/test.txt" )
print a
print b

Anzeige:

/root/123/
test.txt

Viertens zerlegen Sie die Erweiterung des Dateinamens

fpathandname , fext = os.path.splitext( "你要分解的路径")

Zum Beispiel:

a, b = os.path.splitext( "/root/123/test.txt" )
print a
print b

Anzeige:

/root/123/test
.txt

5. Bestimmen Sie, ob ein Pfad (Verzeichnis oder Datei) existiert

b = os.path.exists( "你要判断的路径")

Rückgabewert b: Richtig oder falsch

6. Bestimmen Sie, ob ein Pfad eine Datei ist

b = os.path.isfile( "你要判断的路径")

Rückgabewert b: Wahr oder Falsch

7. Bestimmen Sie, ob ein Pfad ein Verzeichnis ist

b = os.path.isdir( "你要判断的路径")

Rückgabewert b: True oder False

8. Rufen Sie eine Liste der Dateien und Unterverzeichnisse in einem Verzeichnis ab

L = os.listdir( "你要判断的路径")

Zum Beispiel:

L = os.listdir( "/root/123" )
print L

Anzeige:

[‘test.txt', ‘test.py','python']
#这里面既有文件也有子目录

9. Unterverzeichnisse erstellen

os.makedirs( path )  # path 是"要创建的子目录"

Zum Beispiel:

os.makedirs("/root/123")

Der Anruf schlägt möglicherweise fehl . Die möglichen Gründe sind:

(1) Wenn der Pfad bereits existiert (sei es eine Datei oder ein Ordner)

(2) Das Laufwerk existiert nicht

(3) Der Datenträger ist voll

(4) Der Datenträger ist schreibgeschützt oder hat keine Schreibberechtigungen

10. Unterverzeichnisse löschen

os.rmdir( path ) # path: „Subdirectory to be delete“

Mögliche Gründe für die Ausnahme:

(1) Pfad existiert nicht

(2) Pfad-Unterverzeichnis Es gibt Dateien oder Unterverzeichnisse auf niedrigerer Ebene

(3) Keine Betriebsberechtigung oder schreibgeschützt

11. Dateien löschen

os.remove(  filename )  # filename: "要删除的文件名"

Mögliche Gründe für die Ausnahme:

(1) Dateiname existiert nicht

(2) Es gibt keine Betriebsberechtigung für die Dateinamendatei oder nur Lesen.

12. Datei umbenennen

os.name( oldfileName, newFilename)

Erzeugt Ausnahme:

(1) oldfilename Der alte Dateiname existiert nicht

(2) newFilename Wenn die neue Datei bereits vorhanden ist, müssen Sie zu diesem Zeitpunkt zuerst die Datei „newFilename“ löschen.

Verwandte Empfehlungen:


Python löscht Dateien vor dem angegebenen Zeitintervall

Entpacken Sie die ZIP-Datei und löschen Sie die Datei darunter Python-Beispiel für _python

Das obige ist der detaillierte Inhalt vonPython implementiert das Löschen von Dateien und Ordnern unter einem bestimmten Pfad. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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