如何在Python中将一个特定类型的所有文件从文件夹复制到另一个文件夹

时间:2017-07-03 11:45:16

标签: python text-files copy-paste file-manipulation

我尝试使用Python脚本将大量.txt文件从一个文件夹复制到另一个文件夹。我不想一次复制一个文件,我甚至不确定该文件夹中确切存在多少个txt文件。我希望扫描文件夹并将其中的所有文本文件复制到另一个文件夹。我已经尝试使用shutil和os库这样做无济于事。有人可以帮忙吗?

import os
import shutil
def start():
    dest = "C:/Users/Vibhav/Desktop/Txt"
    source = "C:/Users/Vibhav/Desktop/Games"
    for file in os.listdir("C:/Users/Vibhav/Desktop/Games"):
        if file.endswith(".txt"):
        shutil.copy2(dest,source)           

这是我尝试过的,但它对我不起作用。我一直收到这个错误

PermissionError: [Errno 13] Permission denied: 'C:/Users/Vibhav/Desktop/Games'

如果有人可以帮助我,这对我有帮助

1 个答案:

答案 0 :(得分:1)

主要错误:您正在尝试复制目录,而不是文件。

使用glob.glob重写以获得模式过滤+绝对路径听起来是最佳选择:

def start():
    dest = "C:/Users/Vibhav/Desktop/Txt"
    source = "C:/Users/Vibhav/Desktop/Games"
    for file in glob.glob(os.path.join(source,"*.txt")):
        shutil.copy2(file,dest)