Donc, mon ami et moi avons eu un problème avec le premier projet de pratique du chapitre précédent d'Automate the Boring Stuff avec Python. L'invite va: "Ecrivez un programme qui parcourt une arborescence de dossiers et recherche les fichiers avec une certaine extension de fichier (comme .pdf ou .jpg) .Copier ces fichiers de n'importe quel endroit dans un nouveau dossier."Premier projet de pratique dans Automatiser les trucs ennuyeux avec Python, Ch. 9
Pour simplifier, nous essayons d'écrire un programme qui copie tous les fichiers .jpg de My Pictures vers un autre répertoire. Voici notre code:
#! python3
# moveFileType looks in My Puctures and copies .jpg files to my Python folder
import os, shutil
def moveFileType(folder):
for folderName, subfolders, filenames in os.walk(folder):
for subfolder in subfolders:
for filename in filenames:
if filename.endswith('.jpg'):
shutil.copy(folder + filename, '<destination>')
moveFileType('<source>')
Nous continuons à obtenir une erreur le long des lignes de « FileNotFoundError: [Errno 2] Aucun fichier ou répertoire ». Editer: J'ai ajouté un "\" à la fin de mon chemin source (je ne suis pas sûr si c'est ce que vous vouliez dire, @Jacob H), et j'ai pu copier tous les fichiers .jpg dans ce répertoire, mais a reçu une erreur lorsqu'il a essayé de copier un fichier dans un sous-dossier de ce répertoire. J'ai ajouté une boucle for pour sous-dossier dans les sous-dossiers et je n'ai plus d'erreurs, mais il ne regarde pas réellement dans les sous-dossiers pour les fichiers .jpg.
'' n'est pas un chemin, c'est probablement le problème que vous rencontrez. Vous devez remplacer et
En outre, vous pouvez utiliser ['os.path.join'] (https://docs.python.org/2/library/os.path.html?os.path.join#os.path.join) pour rejoindre un ou plusieurs composants de chemin intelligemment. –