Explication détaillée des opérations sur les fichiers et répertoires Python

高洛峰
Libérer: 2017-03-09 09:33:15
original
1282 Les gens l'ont consulté

Les opérations d'annuaire Python reposent principalement sur les modules os et shutil.

Opérations d'annuaire Python

Nouveau répertoire
os.mkdir("./test/")
#在当前目录下新建名为“test”的目录,存在则报错
Copier après la connexion
Nouveau répertoire multi-niveaux
os.makedirs("./test/test1/test2/")
#存在则报错
Copier après la connexion
Supprimer le répertoire
os.rmdir("./test/") 
#移除非空目录,不为空情况下报错
Copier après la connexion
Supprimer le répertoire à plusieurs niveaux
os.removedirs("./test/test1/test2") 
#移除最后一级(test2)非空目录,不为空情况下报错
Copier après la connexion
Copier l'arborescence de manière récursive
shutil.copytree("./test/","./test1/") 
#目标目录(./test1/)必须保证不存在,存在情况下报错
Copier après la connexion
Supprimer l'arborescence de manière récursive
shutil.rmtree("./test/") 
#删除test目录及所包含的文件和目录
Copier après la connexion
Récupérez le répertoire où se trouve le fichier actuel et utilisez os.getcwd(),sys.path[0]

Opérations sur les fichiers Python

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

shutil.copy("./test/1.py","./test1/") 
#目标可以是新文件的路径,也可以是新文件的目录,后者的情况下,新文件的名字为原文件的名字,若存在则覆盖
Copier après la connexion
Déplacer des fichiers
shutyil.move("./test/1.py","./test1/")
#目标目录不存在则报错,存在同名文件也报错,目标也可以是文件的路径,例如“./test1/2.py” 此时文件会先移动到test1文件夹下,然后对文件进行重命名为2.py
Copier après la connexion
Supprimer le fichier
os.remove("./test/1.py") 
#移除目标文件,不存在则报错
Copier après la connexion
Obtenir le chemin du fichier actuel

os.path.abspath("./test") : Obtenez le chemin absolu du fichier
os.path.realpath("./test/") : Obtenez le chemin réel du fichier

Traitement des chemins Python

Le traitement des chemins par Python existe principalement sous le os.path module

Épissage du chemin de fichier
os.path.join("./test/","test1") #./test/test1/
Copier après la connexion
Jugez les fichiers ou les répertoires Qu'ils existent ou non Obtenez le nom du répertoire
os.path.exists() 
#参数为文件路径或目录路径
Copier après la connexion
Fichiers et répertoires dans le chemin divisé
os.path.isfile("./test/1.py") 
#True 文件不存在的情况下为 False
Copier après la connexion
Extensions de fichiers dans le chemin partagé
os.path.isdir("./test/") 
#True. 目录不存在的情况下为 False
Copier après la connexion
Parcourir les dossiers
os.path.basename("./test/1.py") 
#1.py 路径不存在不会报错
Copier après la connexion
os.path.dirname("./test/test1/")
# ./test/test1 参数后面的反斜杠很重要,区别是文件路径还是目录路径。
Copier après la connexion
Lors de la réinitialisation du pointeur dans un fichier, en plus du positionnement absolu introduit dans le fichier de base de Python section, le positionnement relatif peut également être réalisé via le module os.
os.path.split("./test/test1/1.py") 
# ("./test/test1/","1.py")

os.path.split("./test/test1/") 
# ("./test/test1/","")
Copier après la connexion
Pour plus d'informations, veuillez vous référer au
os.path.splitext("./test/1.py") 
# ("./test/1",".py")
Copier après la connexion
Module :
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相对应
Copier après la connexion
2)os.walk(path, topdown,onerror) 参数可选填
参数1为遍历的目录,文件路径不存在不报错
参数2为True或者不填时,遍历规则为先遍历目录在遍历文件,为False时与之相反
参数3为对错误处理的函数,它调用时有一个参数, 一个OSError实例。报告这错误后,继续walk,或者抛出exception终止walk。
Copier après la connexion
调用方式:
for dirname(当前遍历的目录),dirs(目录下的目录列表),files(目录下的文件列表) in os.walk(path)
Copier après la connexion
Module :
https://docs.python.org/2/library/shutil.html
f.seek(位置,os.SEEK_SET<相对起始位置>|os.SEEK_END<相对结束位置>|os.SEEK_CUR<相对当前位置>)
Copier après la connexion

os

shutil

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!