使用Python 3.x根据存储在文本文件中的文件名将文件复制到新目录

时间:2019-07-17 14:26:57

标签: python file text directory copy

我有一个txt文件,它是某些软件的配置文件。

文本文件中内容的格式如下:

txt1.txt:

image/icon/apple.png
image/icon/pear.png
image/icon/kiwi.png

那些png文件存储在dir1或dir2中,我不知道哪个在哪个目录中。这些目录就像:

dir1 = "C:\\files1\\image\\icon\\"
dir2 = "C:\\files2\\image\\icon\\"

现在,我要将所有.png文件从dir1或dir2复制到新文件夹。 不知道我应该遵循哪种逻辑。谁能提供任何见识?

1 个答案:

答案 0 :(得分:0)

将txt1.txt稍微更改为:

apple.png
pear.png
kiwi.png

此代码应可用于任意数量的目录,以检查给定的文件。

import os
import shutil

fileListingFile = "txt1.txt"
directories = [
    "C:\\files1\\image\\icon\\"
    "C:\\files2\\image\\icon\\"
]
outputDir = "C:\\outdir\\image\\icon"

with open(fileListingFile, "r") as file:
    fileNames = [file.strip() for file in file.readlines()]

for directory in directories:
    for file in fileNames:
        if os.path.isfile(os.path.join(directory, file)):
            shutil.copy(os.path.join(directory, file), os.path.join(outputDir, file))