在 python 中根据部分文件名复制多个文件

问题描述 投票:0回答:0

我正在尝试将特定文件从我的网络文件夹复制到基于列表的另一个目录。

在我的网络文件夹中:

Class_01_Stu20230101.txt
Class_02_Stu20230102.txt
Class_03_Tea20230101.txt
Class_04_Tea20230103.txt
Class_05_20230101_20230107.txt
Class_06_EST22758624_EST22758668.txt
Class_2042_Stu20230104.txt
Class_2043_Stu20230104.txt
...

我想通过包含部分文件名的列表复制特定文件。

列表会喜欢这样的:

lt= [*range(01,03), *range(2178,2186), *range(5020,5024)]
lists= [f"Class_{i}_*.txt" for i in lt]

我试过这个:

import os, shutil

path= 'G:/source/path/dir'
new_path= 'D:/test'
files= os.listdir(path)
lt= [*range(01,03), *range(2178,2186), *range(5020,5024)]
lists= [f"Class_{i}_*.txt" for i in lt]

for file in files:
    for list in lists:
        if list in file:
            print(file) #printing goes just fine
            shutil.copy(os.path.join(path, file), new_path)

但是空了。有什么帮助吗?谢谢。

python copy
© www.soinside.com 2019 - 2024. All rights reserved.