我有一个列表,其中每个条目由 5 个单独的随机数组成:
列表输出:
...
['00349']
['02300']
['00020']
...
现在我有两个嵌套的 for 循环。外部循环遍历这个列表。内部循环遍历位于单独目录中的大量文件。目的是我想检查列表中的每个条目是否包含在其中一个文件名中。如果是这样,我想将这些文件复制到一个单独的目标目录中并打破内部循环,因为找到该项目并继续列表中的下一个条目。
文件结构示例:
name_01043.json
我尝试了几件事(见下文),但以下版本总是返回错误。
到目前为止,这是我的代码:
from re import search
import fnmatch
list = []
# some code to fill the list
SOURCE_PATH = "dir/source"
TARGET_PATH = "dir/target"
for item in list:
for fname in os.listdir(SOURCE_PATH):
# check if fname contains item name:
strg1 = str(fname)
strg2 = str(item)
if fnmatch.fnmatch(fname, strg2):
# if fnmatch.fnmatch(fname, '*' + strg2 + '*'):
sourcepath = os.path.join(SOURCE_PATH, fname)
shutil.copy(sourcepath, TARGET_PATH)
break