Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Erläuterung der Python-Datei- und Verzeichnisoperationen

Detaillierte Erläuterung der Python-Datei- und Verzeichnisoperationen

高洛峰
Freigeben: 2017-03-09 09:33:15
Original
1330 Leute haben es durchsucht

Python-Verzeichnisoperationen basieren hauptsächlich auf den Modulen os und shutil.

Python-Verzeichnisoperationen

Neues Verzeichnis
os.mkdir("./test/")
#在当前目录下新建名为“test”的目录,存在则报错
Nach dem Login kopieren
Neues mehrstufiges Verzeichnis
os.makedirs("./test/test1/test2/")
#存在则报错
Nach dem Login kopieren
Verzeichnis löschen
os.rmdir("./test/") 
#移除非空目录,不为空情况下报错
Nach dem Login kopieren
Mehrstufiges Verzeichnis löschen
os.removedirs("./test/test1/test2") 
#移除最后一级(test2)非空目录,不为空情况下报错
Nach dem Login kopieren
Baum rekursiv kopieren
shutil.copytree("./test/","./test1/") 
#目标目录(./test1/)必须保证不存在,存在情况下报错
Nach dem Login kopieren
Baum rekursiv löschen
shutil.rmtree("./test/") 
#删除test目录及所包含的文件和目录
Nach dem Login kopieren
Rufen Sie das Verzeichnis ab, in dem sich die aktuelle Datei befindet, und verwenden Sie os.getcwd(),sys.path[0]

Python-Dateioperationen

Dateien kopieren
shutil.copyfile("./test/1.py","./test1/1.py") 
#目标(./test1/1.py)必须是新文件的路径,否则报错

shutil.copy("./test/1.py","./test1/") 
#目标可以是新文件的路径,也可以是新文件的目录,后者的情况下,新文件的名字为原文件的名字,若存在则覆盖
Nach dem Login kopieren
Dateien verschieben
shutyil.move("./test/1.py","./test1/")
#目标目录不存在则报错,存在同名文件也报错,目标也可以是文件的路径,例如“./test1/2.py” 此时文件会先移动到test1文件夹下,然后对文件进行重命名为2.py
Nach dem Login kopieren
Datei löschen
os.remove("./test/1.py") 
#移除目标文件,不存在则报错
Nach dem Login kopieren
Pfad der aktuellen Datei abrufen

os.path.abspath("./test"): Absoluten Pfad der Datei abrufen
os.path.realpath("./test/"): Ermitteln Sie den tatsächlichen Pfad der Datei

Python-Pfadverarbeitung

Die Pfadverarbeitung in Python erfolgt hauptsächlich im os.path-Modul

Dateipfad-Splicing
os.path.join("./test/","test1") #./test/test1/
Nach dem Login kopieren
Dateien oder Verzeichnisse beurteilen, ob vorhanden oder nicht. Den Namen des Verzeichnisses abrufen
os.path.exists() 
#参数为文件路径或目录路径
Nach dem Login kopieren
Dateien und Verzeichnisse im geteilten Pfad
os.path.isfile("./test/1.py") 
#True 文件不存在的情况下为 False
Nach dem Login kopieren
Dateierweiterungen in der geteilte Pfad
os.path.isdir("./test/") 
#True. 目录不存在的情况下为 False
Nach dem Login kopieren
Durchsuchen Sie die Ordner
os.path.basename("./test/1.py") 
#1.py 路径不存在不会报错
Nach dem Login kopieren
os.path.dirname("./test/test1/")
# ./test/test1 参数后面的反斜杠很重要,区别是文件路径还是目录路径。
Nach dem Login kopieren
Beim Zurücksetzen des Zeigers in einer Datei, zusätzlich zur absoluten Positionierung, die in der Python-Grundlagendatei eingeführt wurde Abschnitt kann die relative Positionierung auch über das OS-Modul erreicht werden.
os.path.split("./test/test1/1.py") 
# ("./test/test1/","1.py")

os.path.split("./test/test1/") 
# ("./test/test1/","")
Nach dem Login kopieren
Weitere Informationen finden Sie im
os.path.splitext("./test/1.py") 
# ("./test/1",".py")
Nach dem Login kopieren
Modul:
https://docs.python.org/2/library/os.html
1)os.path.walk(path,func,args) 参数都必填
参数1为遍历的目录,文件路径不存在不报错
参数2为回调函数,定义为f(args,dirname,files)<dirname:文件当前遍历的目录,files:为当前目录下文件和目录信息的列表>
参数3与参数2中函数的参数1相对应
Nach dem Login kopieren
2)os.walk(path, topdown,onerror) 参数可选填
参数1为遍历的目录,文件路径不存在不报错
参数2为True或者不填时,遍历规则为先遍历目录在遍历文件,为False时与之相反
参数3为对错误处理的函数,它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
Nach dem Login kopieren
调用方式:
for dirname(当前遍历的目录),dirs(目录下的目录列表),files(目录下的文件列表) in os.walk(path)
Nach dem Login kopieren
Modul:
https://docs.python.org/2/library/shutil.html
f.seek(位置,os.SEEK_SET<相对起始位置>|os.SEEK_END<相对结束位置>|os.SEEK_CUR<相对当前位置>)
Nach dem Login kopieren

os

shutil

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Python-Datei- und Verzeichnisoperationen. 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