2013-01-16 5 views
-1

J'ai tout un tas de fichiers dans un répertoire. Je voudrais qu'un programme fasse une boucle sur les fichiers dans le répertoire et me demande d'entrer le nom du répertoire (qui sont tous dans le même répertoire) afin que le programme déplace le fichier dans le répertoire spécifié.Déplacer des fichiers en utilisant Python

Je voudrais une solution de terminal, plus précisément, façon Python serait instructif pour moi

+9

Il semble que vous vouliez que nous écrivions du code pour vous. Bien que de nombreux utilisateurs soient prêts à produire du code pour un codeur en détresse, ils ne font généralement que contribuer lorsque l'affiche a déjà tenté de résoudre le problème par eux-mêmes. Une bonne façon de démontrer cet effort est d'inclure le code que vous avez écrit jusqu'à présent, exemple d'entrée (s'il y en a), la sortie attendue, et la sortie que vous obtenez réellement (sortie de la console, traces de pile, erreurs du compilateur en vigueur). Plus vous fournissez de détails, plus vous aurez de chances de recevoir des réponses. –

+0

Utilisez les bibliothèques 'os' et' shutil' – Harpal

+0

Qu'essayez-vous de réaliser différemment de ce que le shell normal permet de déplacer des fichiers? –

Répondre

4

Votre question est un peu Vauge sur ce que vous avez besoin d'aide, mais voici un modèle pour vous aider à démarrer. Utilisez os et shutil pour lister les répertoires et déplacer les fichiers.

import shutil, os 

target = raw_input("Target directory: ") 

# Make sure the target dir exists! 
assert(os.path.exists(target)) 

for f in os.listdir('.'): 
    b = raw_input("Press y to move file %s to %s: " %(f,target)) 
    if b.lower() == 'y': 
     shutil.move(f, target) 
+0

C'est presque ça! Je peux modifier cela convenablement pour mes fins. Je vous remercie. – kan

+0

BTW, puis-je vous demander ce qui se passe si le répertoire cible n'existe pas? – kan

+0

@KannappanSampath Essayez-le! Ce qui se passera, c'est que la commande 'assert' échouera puisque' os.path.exists (target) 'sera faux. 'assert' est une vérification d'astuce vraiment utile et peut jeter des exceptions plus utiles si vous voulez l'étendre. – Hooked

Questions connexes