Python OS.Exemple de marche

Python OS.Exemple de marche

La fonction de marche dans n'importe quel système d'exploitation est comme le système d'exploitation.chemin. La fonction de marche génère les noms de fichiers dans un arbre de répertoire en naviguant dans l'arbre dans les deux sens, soit un transversal de haut en bas ou de bas. Chaque répertoire de n'importe quel arbre d'un système a un répertoire de base à l'arrière. Et puis il agit comme un sous-répertoire. Le walk () génère la sortie en trois tuples, le chemin, le répertoire et les fichiers qui viennent dans n'importe quel sous-répertoire.

  • Dirpath: C'est une chaîne qui mène les fichiers ou un dossier vers le chemin d'accès au répertoire.
  • Dirname: Tous les noms de sous-répertoires qui ne contiennent pas '.' Et '… '.
  • Noms de fichiers: Le chemin du répertoire qui contient des fichiers autres que les fichiers de répertoire. Il s'agit d'une liste de dossiers ou de fichiers qui peuvent être des fichiers créés par le système ou créés par l'utilisateur.

Les noms présents dans la liste ne contiennent aucun composant du chemin. Pour récupérer le chemin complet qui commence du haut vers un répertoire ou un fichier dans le chemin du répertoire, nous utilisons le système d'exploitation.marcher.join () qui a des arguments de dirpath et le nom du répertoire.

De haut en bas et de bas en haut sont les deux arguments facultatifs à la fois. Cela signifie que l'une des options doit être utilisée dans la fonction si nous voulons une séquence de répertoires. Alors que dans certains cas, la séquence descendante est sélectionnée par défaut si nous ne mentionnons aucun argument concernant cette séquence. Si l'argument de haut en bas est vrai, le triple du répertoire principal s'affiche d'abord, puis les sous-répertoires. Et si le haut-bas est faux, le triple du répertoire s'affiche après cela pour les sous-répertoires. En d'autres termes, la séquence est de manière ascendante.

Lorsque la situation descendante est vraie, l'utilisateur peut mettre à jour la liste des noms du répertoire, puis Walk () ne sera appliqué que sur les sous-répertoires. Tandis que la mise à jour des noms des répertoires lorsque le haut-bas est faux est inapplicable. En effet. La fonction ListDir () peut éliminer les erreurs par défaut.

Python OS.Walk () Travailler

Voyons comment le système de fichiers est traversé dans Python. Cela fonctionne comme un arbre ayant une seule racine qui se divise davantage en branches. Et les branches sont élargies en tant que sous-branches et ainsi de suite. Cette fonction de marche produit les noms des fichiers dans un arbre de répertoire en naviguant sur l'arborescence en haut ou en bas.

Syntaxe du système d'exploitation.marcher()

# OS.walk (top [, topdown = true [onError = non [suivantLinks = false]]])

haut = C'est la tête ou un point de départ de toute traversée de sous-direction. Il donne 3 tuples, comme nous l'avons décrit au début de l'article.

De haut en bas = Dans le cas où il est vrai, la numérisation des répertoires est du haut en haut et vice versa dans le cas opposé.

Onneroor = Ceci est une fonctionnalité spéciale conçue pour surveiller l'erreur. Il peut soit montrer une erreur pour continuer à marcher ou soulever l'exception pour rejeter la promenade.

Suivez les liens = Conduit à des récursions imparables; il est défini sur vrai.

Note: Le Suivre des liens L'option est définie comme vrai; Il conduit à des récursions imparables si un lien pointe vers le répertoire de base de son propre. La fonction Walk () ne prend pas le dossier des répertoires qu'il a déjà traversés.

Exemple 1

Tous les fichiers du répertoire doivent être répertoriés en utilisant cette fonction. Considérez un extrait de code. La première étape consiste à importer le module OS, comme d'autres fonctionnalités à importer par la bibliothèque Python.

# Importer un système d'exploitation

Après cela, nous définirons une fonction nommée 'module OS'. À l'intérieur de cette fonction, utilisez une boucle pour obtenir tous les fichiers suivant les répertoires et la racine. La technique descendante est utilisée ici. Et "Suivre des liens"Est gardé vrai.

Importer un système d'exploitation
# Le module OS fournit une fonction qui obtient une liste de fichiers ou de dossiers
# dans un répertoire
# ''.'signifie le dossier actuel
# Walk (…) Méthode génère les noms de fichiers dans un arbre de répertoire en marchant le
# arbre de haut en bas ou de bas en haut
def os_module ():
pour root, rédacteurs, fichiers dans le système d'exploitation.marcher('.', topdown = false, onError = aucun, suivez les links = true):
pour le nom de fichier dans les fichiers:
imprimer (nom de fichier)
def main ():
print ('\ n… en utilisant le module OS pour répertorier les fichiers… \ n')
os_module ()
Si __name__ == '__MAIN__':
principal()

Ce module n'imprimera que les noms de fichiers dans le répertoire. Le '.«L'arrêt complet que nous avons utilisé ici est spécifiquement pour le dossier actuel. Dans le programme principal, nous appellerons la fonction déclarée.

Dans la sortie, vous pouvez voir les noms de fichiers dans le dossier actuel.

Exemple 2

Cette fonction renverra la valeur en scannant tous les répertoires et les sous-répertoires dans le chemin actuel du répertoire de la direction inférieure à la direction, comme haut de gamme = false ici.

OS.marcher(".», Topdown = false) #!/ usr / bin / python
Importer un système d'exploitation
pour root, rédacteurs, fichiers dans le système d'exploitation.marcher(".", topdown = false):
pour le nom dans les fichiers:
imprimer (OS.chemin.join (root, nom))
pour le nom dans DIRS:
imprimer (OS.chemin.join (root, nom))

Une boucle pour la boucle est utilisée pour imprimer les fichiers et les répertoires séparément. Le "OS.chemin.rejoindre”Apporte le nom et le répertoire principal du chemin.

Une petite partie de la sortie est indiquée ci-dessus. Si l'on veut obtenir la sortie en haut de la commande, alors le module de haut en bas doit être conservé comme vrai.

# OS.marcher(".», Topdown = true)

Exemple 3

Cet exemple diffère des précédents dans le type de paramètres utilisés. Ici, la fonction ne prend que le «chemin». A pour la boucle est utilisé pour afficher les valeurs des fichiers, répertoires du chemin. Si la déclaration est utilisée pour limiter la valeur résultante dans chaque ligne à la fois. Ici, nous avons utilisé 4. Après tous les 4 mots, la valeur sera déplacée vers la ligne suivante. La valeur de départ de la variable «i» est considérée comme zéro.

Importer un système d'exploitation
path = "c: \\ utilisateurs"
i = 0
pour (cheminement, rédacteurs, fichiers) dans le système d'exploitation.marcher (chemin):
Imprimer (chemin)
Imprimer (DIRS)
Imprimer (fichiers)
imprimer("----")
i + = 1
Si i> = 4:
casser

La sortie respective est indiquée ci-dessous. Le chemin, les répertoires et les fichiers sont affichés en sortie.

Exemple 4

Comme la méthode Walk () dans le système d'exploitation, nous pouvons également utiliser le «OS.listDir ()”Alternative au chemin, qui affichera toutes les valeurs de la valeur particulière. je.e., Ici, nous avons utilisé des fichiers pour être imprimés. Le chemin est considéré comme un argument pour la fonction. La valeur résultante sera stockée dans la variable des fichiers. For Loop affichera tous les fichiers dans le répertoire respectif.

# Fichiers = os.ListDir (chemin) Importer un système d'exploitation
path = '/ utilisateurs / utilisateur /.Spyder-Py3 '
fichiers = os.ListDir (chemin)
pour F dans les fichiers:
Imprimer (f)

La liste s'affiche ici qui contient tous les fichiers du répertoire respectif.

Exemple 5

Vous avez vu les exemples dans lesquels tous les dossiers ou chemins sont affichés, même ceux que nous voulons cacher; Ils sont également exposés. Mais «OS.walk () ”utilise certaines fonctionnalités qui permettent à l'exclusion des répertoires cachés.

Après avoir importé le module OS, nous avons introduit le chemin que nous utiliserons dans l'exemple.

# DIRS.[:] = [d pour d dans les rédacteurs. Si non D.commence avec('.')] Importer un système d'exploitation
path = 'c: / utilisateurs / user /.Spyder-Py3 '
pour root, rédacteurs, fichiers dans le système d'exploitation.marcher (chemin):
Imprimer (racine)
DIRS [:] = [D pour D dans les rédacteurs sinon D.commence avec('-')]
Pour Dir dans DIRS:
imprimer (OS.chemin.join (root, dir))
pour le fichier dans les fichiers:
imprimer (OS.chemin.join (root, fichier))

Cette fonctionnalité est capable de cacher les répertoires, maintenant avec cette liste, les répertoires cachés ne sont pas inclus dans la sortie.

Exemple 6

Supposons que vous ayez une liste de noms du répertoire que vous souhaitez négliger pendant la fonction Walk (). Une façon consiste à utiliser la méthode décrite ci-dessus. La deuxième façon va être expliquée ici. Cela donnera le même résultat.

# DIRS.[:] = [] Importer un système d'exploitation
path = 'c: / utilisateurs / user /.Spyder-Py3 '
pour root, rédacteurs, fichiers dans le système d'exploitation.marcher (chemin):
Si root dans ignore_list:
DIRS [:] = []
Fichiers [:] = []
Imprimer (DIRS [:])

Exemple 7

Si vous souhaitez prendre l'impression des valeurs absolues, les noms des sous-répertoires et les répertoires mais pas tout le chemin, dans ce cas, la fonction de marche Python est utilisée.

Importer un système d'exploitation
x = r'c: / utilisateurs / utilisateur /.Spyder-Py3 '
pour R, D, F dans OS.marche (x):
Imprimer (D)

À partir de la sortie, vous pouvez voir que les valeurs résultantes sont devenues limitées.

Conclusion

La fonction «Python OS Walk» est utilisée pour parcourir tous les chemins d'un répertoire, de haut en bas ou du bas en haut. Nous avons également vu comment masquer les données indésirables à prévisualiser. Cet article sera sûrement un avantage pour implémenter la fonction de marche du module OS à Python.