Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung des Python-Shutil-Modullernens

Zusammenfassung des Python-Shutil-Modullernens

高洛峰
高洛峰Original
2017-03-12 10:39:331875Durchsuche

Dieser ArtikelEinführungPythonShutil-Modul lernenZusammenfassung

Shutil-Name kommt von Shell-Dienstprogrammen, wenn Sie ihn studiert oder verstanden habenLinux Leute sollten mit der Shell vertraut sein, und Sie können diese verwenden, um sich den Namen des Moduls zu merken. Dieses Modul verfügt über viele Datei-(Ordner-)Betriebsfunktionen, einschließlich Kopieren, Verschieben, Umbenennen, Löschen usw.

  1. chutil.kopieren ( Quelle, Ziel)
    shutil.copy() Funktion implementiert die Dateikopierfunktion und kopiert die Quelldatei in den Zielordner. Beide Parameter sind im String-Format. Wenn das Ziel ein Dateiname ist, wird dieser als Name der kopierten Datei verwendet, was dem Kopieren + Umbenennen entspricht. Zum Beispiel:

    >> import os
    >> os.
    chdir('C:')> ;> Shutil.copy('C:spam.txt', 'C:delicious')
    'C:deliciousspam.txt'
    >> :deliciouseggs2.txt')
    'C:deliciouseggs2.txt'

    Wie im Code gezeigt, ist der Rückgabewert der

    -Funktion der Dateipfad im String-Format nach erfolgreichem Kopieren

  2. shutil.copytree(source, target)

    Die Funktion shutil.copytree() kopiert den gesamten Ordner und kopiert alle Inhalte im Quellordner in das Ziel, einschließlich der Inhalte in der Quelle Dateien und Unterordner werden kopiert. Beide Parameter liegen im String-Format vor.

    Beachten Sie, dass dieser Vorgang einen

    FileExistsError-Fehler zurückgibt, der darauf hinweist, dass die Datei bereits vorhanden ist, wenn der Zielordner bereits vorhanden ist. Das heißt, wenn diese Funktion ausgeführt wird, erstellt das Programm automatisch einen neuen Ordner (Zielparameter) und kopiert den Inhalt des Quellordners dorthin Zum Beispiel:

> ;> import Shutil

>> import os
>> : bacon_backup')
'C:bacon_backup'

如以上代码所示,该函数的返回值是复制成功后的文件夹的绝对路径字符串
所以该函数可以当成是一个备份功能
    shutil.move(source, destination)
  1. shutil.move()-Funktion verschiebt die Quelldatei oder Ordner Zum Ziel verschieben. Der Rückgabewert ist der absolute Pfadstring der verschobenen Datei.

    Wenn das Ziel auf einen Ordner verweist, wird die Quelldatei an das Ziel verschoben und behält ihren ursprünglichen Namen. Beispiel:

  2. >> import Shutil
>> Shutil.move('C:bacon.txt', 'C:eggs')

' C :eggsbacon.txt'

>> Shutil.move('C:bacon.txt', 'C:eggs
上例中,如果 C:\eggs 文件夹中已经存在了同名文件 bacon.txt,那么该文件将被来自于 source 中的同名文件所重写。

如果 destination 指向一个文件,那么 source 文件将被移动并重命名,如下:
new

_bacon.txt') ' C:eggsnew_bacon.txt'

>> Shutil.move('C:bacon.txt', 'C:eggs')
等于是移动+重命名

<b>注意,如果 destination 是一个文件夹,即没有带后缀的路径名,那么 source 将被移动并重命名为 destination</b>,如下:
'C:eggs'


>> Shutil.move('spam.txt', 'C:does_not_existeggsham')
即 bacon.txt 文件已经被重命名为 eggs,是一个没有文件后缀的文件

最后,destination 文件夹必须是已经存在的,否则会引发异常:
Traceback (letzter c

alle
letzter):Datei „D: Python36libshutil .py", Zeile 538, in moveos.rename(src, real_dst)
FileNotFoundError: [WinError 3] Das System kann den angegebenen Pfad nicht finden. : 'test.txt' -> 'C:does_not_existeggsham'
Während der Ausführung der oben genannten
Ausnahme
ist eine weitere Ausnahme aufgetreten:Traceback (letzter Aufruf last):Datei "

Dateien und Ordner dauerhaft löschen

Hier sind verwandte Funktionen im Betriebssystemmodul
    os.unlink(path) wird die Pfaddatei löschen
  1. os.rmdir(path) löscht den Pfadordner, aber dieser Ordner muss leer sein und darf keine Dateien oder Unterordner enthalten.

    shutil.rmtree(path) löscht den Pfadordner und alle darin enthaltenen Dateien und Unterordner Ordner wird gelöscht



    Wenn Sie Funktionen zum Ausführen von Löschvorgängen verwenden, sollten Sie besonders vorsichtig sein, denn wenn Sie eine TXT-Datei löschen möchten und wenn Sie versehentlich RXT schreiben, wird dies der Fall sein sich selbst Probleme

    Zu diesem Zeitpunkt können wir das
  2. end
swith

Attribut
der Zeichenfolge verwenden, um das Dateiformat zu überprüfen und zu filtern

Das obige ist der detaillierte Inhalt vonZusammenfassung des Python-Shutil-Modullernens. 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