Copier les fichiers dans le dossier vers le répertoire de python
J'ai un dossier avec quelques fichiers que je voudrais copier un répertoire (ce dossier a aussi quelques fichiers que je ne veux pas de copie). Je sais qu'il y a de l'os.chdir("..") de commande de me déplacer dans le répertoire. Cependant, je ne suis pas sûr de savoir comment copier les fichiers dont j'ai besoin dans ce répertoire. Toute aide serait grandement appréciée.
Mise à JOUR:
C'est ce que j'ai maintenant:
from shutil import copytree, ignore_patterns
copytree("/Users/aaron/Desktop/test/", "/Users/aaron/Desktop/", ignore=ignore_patterns('*.py', '*.txt'))
J'obtiens l'erreur suivante:
Traceback (most recent call last):
File "update.py", line 61, in <module>
copytree("/Users/aaron/Desktop/test/", "/Users/aaron/Desktop/", ignore=ignore_patterns('*.py', '*.txt'))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/shutil.py", line 146, in copytree
os.makedirs(dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 17] File exists: '/Users/aaron/Desktop/'
double possible de Comment puis-je copier un fichier en python?
OriginalL'auteur Aaron | 2010-06-01
Vous devez vous connecter pour publier un commentaire.
La
shutil
module peut le faire, plus précisément lecopyfile
,copy
,copy2
etcopytree
fonctions. http://docs.python.org/library/shutil.htmlVous voulez probablement quelque chose le long de ces lignes:
Bien sûr, vous pouvez filtrer certains noms de fichier lors de l'appel à
os.listdir()
. Par exemple,au lieu de
fileList = os.listdir('path/to/source_dir')
, pour obtenir l'.txt
fichierscopytree
exige que le répertoire de destination existe pas déjà.Pour l'exemple que vous avez donné, j'ai besoin de faire cela pour chaque nom de fichier? Je vois sur la ligne 5 vous ajoutez le nom de fichier. Depuis que j'ai 5 fichiers qui doivent être copiés comment cela fonctionne.
Oui, cela fonctionne pour n'importe quel nombre de fichiers... c'est ce Que l'
for
boucles pour...Ok, donc tout ce que je besoin de faire est de saisir le chemin d'accès à la source dir et de destination. Et il va tirer tous les fichiers dans le répertoire source?
OriginalL'auteur Chinmay Kanchi