Python中的二维数组循环(列表)

时间:2013-11-13 05:30:55

标签: python

我正在搜索一个特定模式并删除文件。我写了下面的代码,它是工作文件但我觉得我可以减少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)

2 个答案:

答案 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)