我正在搜索一个特定模式并删除文件。我写了下面的代码,它是工作文件但我觉得我可以减少for循环当我试图删除文件 (列表理解除外)
rm_file_pat = ["*.abc*", "*.xyz"]
rm_file_list = [ glob.glob(f_pat) for f_pat in rm_file_pat]
for rm_file in rm_file_list:
for _rm_file in rm_file:
os.remove(_rm_file)
答案 0 :(得分:1)
您可以使用rm_file_list
展平chain.from_iterable
,然后简单地遍历列表
import itertools
for rm_file in itertools.chain.from_iterable(rm_file_list):
os.remove(rm_file)
答案 1 :(得分:1)
from glob import glob
rm_file_pat = ["*.abc*", "*.xyz"]
for rm_file in (fn for f_pat in rm_file_pat for fn in glob(f_pat))
os.remove(rm_file)