2009-05-12 15 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() 

私は、各行が場所にコピーされるように、特定のファイルのパスである500行を持っているTEMP.TXTファイルからのパスを読んでいます「C:\ opencascade」「i」は上記に変換する方法 あなたは時とファイル名の\nを持っているインタプリタtxtファイルからパスを読み込み、それらのファイルを新しいディレクトリにコピーする方法は?

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

問題を詳しく説明できますか? shutil.copy(src、dst)は、後者が存在し、ディレクトリである限り、同じベース名を持つファイル 'i'を 'c:\ directoryname'にコピーする必要があります。 –

+0

問題は私がtemp.txtファイルから読み取ったパスを持っていることです – yesraaj

答えて

8

からのコード作業

エラーを作るために、生の文字列にするためのコード。

試してみてください。

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

あなたの質問への有効な答えとしてこの回答をマークしてください –

0

エラーは、単一の "\" ではなくパスでダブル "\" です。

+0

これについて詳しく説明しますか? yesraajが二重のバックスラッシュを必要とするのはなぜですか? – nalply

関連する問題