im plutôt nouveau à Python, mais je me suis présidé pour apprendre les bases.
De toute façon, j'ai plusieurs fichiers qu'une fois que j'ai extrait de leurs fichiers zip (processus douloureusement lent, BTW) produisent plusieurs centaines de sous-répertoires avec 2-3 fichiers avec 2-3 fichiers dans chaque. Maintenant, ce que je veux faire, c'est extraire tous ces fichiers se terminant par "dem.tif" et placez-les dans un fichier séparé (ne pas copier non copié). P>
J'ai peut-être tenté de sauter dans la partie profonde ici, mais Le code que j'ai écrit des courses sans erreur, il ne faut pas trouver les fichiers (qui existent!) car cela me donne la déclaration d'autre. Voici le code que j'ai créé p>
4 Réponses :
Mise à jour: le questionneur a clarifié ci-dessous en dessous de ce qu'il appelle la fonction de déplacement, qui était le premier point de ma réponse. em> p>
Il y a quelques autres choses à considérer: p>
os.walk code> mal, j'ai peur - vérifier le documentation pour cette fonction . li>
fichiers code>, et vous devez
os.join code> chacun de ceux à
root code>, plutôt que
src code> li>
os.walk code> et commentaire le reste du code dans cette boucle. Li>
shutil.move code> jusqu'à ce que vous êtes sûr que c'est juste. Li >
ul>
Salut Mark, merci pour votre réponse. Désolé mon anglais n'est probablement pas le meilleur ce que je voulais dire, c'est que je suis en train d'exécuter le programme dans la fenêtre de coquille en tapant le mouvement () et tout fonctionne ok sans la déclaration shuttilis.move mais dès que je l'ajoute que je reçois le Erreur suivante AttributeError: 'Liste' Object n'a aucun attribut 'Endswith'
@ user1041814: Cette erreur est dû aux premier et deuxième points que j'ai mentionnés ci-dessus - vos fichiers code> code> est en fait une liste des sous-répertoires dans chaque répertoire de la promenade.
Merci encore pour les suggestions! C'est parfois toujours la plus simple des erreurs comme pour obtenir l'ordre de la fonction OS.Walk qui vous obtient!
Je pense que vous avez mélangé la façon dont vous devriez utiliser os.walk () code>.
Premièrement, bienvenue dans la communauté et Python! Vous voudrez peut-être modifier votre nom d'utilisateur, surtout si vous fréquentez ici. :)
Je suggère ce qui suit (volé de M. Bezley ): p>
Une raison particulière dont vous avez besoin de le faire à Python? Une simple commande shell ne sera-t-elle pas plus simple? Si vous êtes sur un système de type UNIX ou si vous avez accès à Cygwin sous Windows:
find src_dir -name "*dem.tif" -exec mv {} dst_dir