2017-05-29 45 views
0

我想从一个文件夹复制粘贴到另一个文件使用Python Shutil模块,并给我一个错误,不知道是什么问题。Python的复制和过去

import os 
import shutil 

source = os.listdir("D:\Personal\TEST\SRC") 
print source 
destination = "D:\Personal\TEST\DEST" 

for files in source: 
    if files.endswith('.txt'): 
     shutil.copy(files,destination) 

Error: 
File "C:/Users/xxx/xxx/config/scratches/test.py", line 10, 
in <module> 
shutil.copy(files,destination) 
File "C:\Python27\Lib\shutil.py", line 119, in copy 
copyfile(src, dst) 
File "C:\Python27\Lib\shutil.py", line 82, in copyfile 
with open(src, 'rb') as fsrc: 
IOError: [Errno 2] No such file or directory: 'TEST.txt' 

任何帮助非常感谢 谢谢。

+0

似乎'listdir'返回相对路径。 –

+0

更改'shutil.copy(文件,目的地)'为'在文件中的文件名:shutil.copy(os.path.join(r“D:\ Personal \ TEST \ src”,文件名),目的地)' – inspectorG4dget

回答

0

试试这个:

import os 
import shutil 

source = r"D:\Personal\TEST\SRC" 
destination = r"D:\Personal\TEST\DEST" 

for file in [os.path.join(source, x) for x in os.listdir(source)]: 
    if file.endswith('.txt'): 
     shutil.copy(file, os.path.join(destination, os.path.basename(file))) 
+0

非常感谢对于答案,它按预期工作。 –

+0

@donjacob那么请将您的答案标记为合适的答案,以便将问题视为*关闭*。 –