2009-05-12 7 views
2
from shutil import copy 
f = open(r'C:\temp.txt', 'r') 
for i in f.readlines(): 
    print i 
    copy(i,r"C:\opencascade")  

f.close() 

Je lis chemin temp.txt fichier qui a 500 lignes chaque ligne est un chemin pour le fichier spécifique à copier à l'emplacement « C: \ OpenCascade » Comment convertir « i » en plus haut code pour être une chaîne brute pour faire le travail de codeComment lire le chemin à partir d'un fichier txt et copier ce fichier dans un nouveau répertoire?

erreur d'interprète

copy(i,r"C:\opencascade")  
    File "C:\Python26\lib\shutil.py", line 88, in copy 
    copyfile(src, dst) 
    File "C:\Python26\lib\shutil.py", line 52, in copyfile 
    fsrc = open(src, 'rb') 
IOError: [Errno 22] invalid mode ('rb') or filename: 'C:\\OPENCASCADE6.2.0\\ROS\\INC\\toptools_hsequenceofshape.hxx\n' 
+0

Pouvez-vous élaborer le problème? Shutil.copy (src, dst) doit copier le fichier 'i' avec le même nom de base dans 'c: \ directoryname' tant que ce dernier existe et est un répertoire. –

+0

le problème est avec moi qui a le chemin qui est lu à partir du fichier temp.txt – yesraaj

Répondre

8

Vous avez un \n au et du nom du fichier.

Essayez:

copy(i.strip(), r"C:\opencascade") 
+2

puis marquer cette réponse comme la réponse valide à votre question –

0

erreur est unique "\" plutôt que double "\" dans le chemin.

+0

Vous voulez en savoir plus? Pourquoi yesraaj a-t-il besoin de doubles antislashs? – nalply

Questions connexes