Maison > développement back-end > Tutoriel Python > Python implémente la suppression de fichiers et de dossiers sous un certain chemin

Python implémente la suppression de fichiers et de dossiers sous un certain chemin

不言
Libérer: 2018-04-24 13:43:37
original
5309 Les gens l'ont consulté

Ce qui suit est un exemple de la façon de supprimer des fichiers et des dossiers sous un certain chemin en Python. Il a une bonne valeur de référence et j'espère qu'il sera utile à tout le monde. Jetons un coup d'œil ensemble

Script Python pour supprimer des fichiers et des dossiers sous un certain chemin

#!/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!"
Copier après la connexion

shutil est un module d'exploitation de fichiers de haut niveau. Le paramètre True indique ignore_errors (ignorer les erreurs lors de la copie).

est similaire à l'API de haut niveau, et sa principale force est qu'elle prend mieux en charge les opérations de copie et de suppression de fichiers.

[Pièce jointe] Utilisation du module os (bibliothèque)

Des fonctions telles que la recherche et la suppression de dossiers et de fichiers sont implémentées dans le module os.

1. Obtenez le répertoire actuel

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

[Note]

Si vous souhaitez obtenir l'emplacement du répertoire actuel dans lequel le programme est exécuté, vous pouvez utiliser la fonction os.getcwd() du module os.

Si vous souhaitez obtenir l'emplacement du répertoire du script actuellement exécuté, vous devez utiliser la variable sys.path[0] ou sys.argv[0] du module sys pour obtenir

#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))
Copier après la connexion

2. Changer le répertoire actuel

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

3. Décomposer un nom de chemin en deux parties : le nom du répertoire et le nom du fichier

fpath , fname = os.path.split( "你要分解的路径")
Copier après la connexion

Par exemple :

a, b = os.path.split( "/root/123/test.txt" )
print a
print b
Copier après la connexion

Affichage :

/root/123/
test.txt
Copier après la connexion

Quatre , décomposez l'extension du nom de fichier

fpathandname , fext = os.path.splitext( "你要分解的路径")
Copier après la connexion

Par exemple :

a, b = os.path.splitext( "/root/123/test.txt" )
print a
print b
Copier après la connexion

Affichage :

/root/123/test
.txt
Copier après la connexion

5. Déterminer si un chemin (répertoire ou fichier) existe

b = os.path.exists( "你要判断的路径")
Copier après la connexion

Valeur de retour b : Vrai ou faux

6. Déterminer si un chemin est un fichier

b = os.path.isfile( "你要判断的路径")
Copier après la connexion

Valeur de retour b : Vrai ou Faux

7. Déterminer si un chemin est un répertoire

b = os.path.isdir( "你要判断的路径")
Copier après la connexion

Valeur de retour b : Vrai ou Faux

8. Obtenez une liste de fichiers et de sous-répertoires dans un répertoire

L = os.listdir( "你要判断的路径")
Copier après la connexion

Par exemple :

L = os.listdir( "/root/123" )
print L
Copier après la connexion

Affichage :

[‘test.txt', ‘test.py','python']
#这里面既有文件也有子目录
Copier après la connexion

9. Créer des sous-répertoires

os.makedirs( path )  # path 是"要创建的子目录"
Copier après la connexion

Par exemple :

os.makedirs("/root/123")
Copier après la connexion

L'appel peut échouer . Les raisons possibles sont :

(1) Lorsque le chemin existe déjà (qu'il s'agisse d'un fichier ou d'un dossier)

(2) Le lecteur n'existe pas

(3) Le disque est plein

(4) Le disque est en lecture seule ou n'a pas d'autorisations en écriture

10. Supprimer les sous-répertoires . 🎜>

os.rmdir( chemin ) # chemin : "Sous-répertoire à supprimer"

Raisons possibles de l'exception :

(1) le chemin n'existe pas

(2) sous-répertoire du chemin Il y a des fichiers ou des sous-répertoires de niveau inférieur

(3) Aucune autorisation d'opération ou lecture seule

11. Supprimer des fichiers

os.remove(  filename )  # filename: "要删除的文件名"
Copier après la connexion

Raisons possibles de l'exception :

(1) le nom de fichier n'existe pas

(2) Il n'y a aucune autorisation d'opération pour le fichier de nom de fichier ou en lecture seule.

12. Renommer le fichier

os.name( oldfileName, newFilename)
Copier après la connexion

Produit une exception Raison :

(1) oldfilename L'ancien nom de fichier n'existe pas

(2) newFilename Lorsque le nouveau fichier existe déjà, à ce moment-là, vous devez d'abord supprimer le fichier newFilename.


Recommandations associées :

python supprime les fichiers avant l'intervalle de temps spécifié

Décompressez le fichier zip et supprimez le fichier sous python Exemple de _python

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