gpt4 book ai didi

python - 当从列表中获取 Python Glob 模块的参数时,文件名大小写更改为小写

转载 作者:行者123 更新时间:2023-12-01 07:19:58 27 4
gpt4 key购买 nike

我有带有文件名(“filename_mask_list”)的Python列表,我需要搜索一些根目录及其子目录以查找与我的文件名匹配的文件,以便将它们复制到某个公共(public)目录。

我使用pathlib.Path.glob来递归搜索目录:

from pathlib import Path
filename_mask_list = ['DEU.FourSeasonsHotelsandResorts.csv', 'DEU.Hilton.csv', 'DEU.Hertz.csv']
for searched_file in filename_mask_list:
for searched_path in Path('C:\root_dir').glob('**/' + searched_file):
print(searched_path)

使用上面的代码,打印的“searched_pa​​th”中找到的文件名是小写的。如果我使用直接选项而不是从列表中传递元素作为搜索条件,则大小写将被保留:

for searched_path in Path('C:\root_dir').glob('**/DEU*.csv'):
print(searched_path)

我需要保留复制文件的文件名大小写,因为将其设置为小写会导致相关进程崩溃。

最佳答案

使用glob.glob将为您提供与搜索条件中大小写相同的文件名。我不知道造成这种明显不一致的原因。

import glob
filename_mask_list = ['DEU.FourSeasonsHotelsandResorts.csv', 'DEU.Hilton.csv', 'DEU.Hertz.csv']
for searched_file in filename_mask_list:
for searched_path in glob.glob('C:\root_dir/**/' + searched_file, recursive=True):
print(Path(searched_path))

请注意,为了清楚起见,我保留了您的拼写'C:\root_dir',但这是极其错误的。

关于python - 当从列表中获取 Python Glob 模块的参数时,文件名大小写更改为小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57749724/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com