python中的正则表达式可根据字符串匹配来过滤文件

时间:2019-04-29 01:54:40

标签: python

我的文件夹中有100多个文件,文件名如下-

XY1234_2345.1.txt
XY1234_2345.2.txt

以此类推

XY1234_4567.1.txt
XY1234_4567.2.txt

以此类推

我想列出这些文件并将它们作为文件名以txt文件形式输出:
XY1234_2345.1.txtXY1234_2345.2.txt,依此类推
XY1234_4567.1.txtXY1234_4567.2.txt

如何使用Python获得所需的结果。

1 个答案:

答案 0 :(得分:0)

您可以使用Python pathlib

from pathlib import Path

my_directory = Path(r"path/to/my/directories")
my_file = Path(r"path/to/my/file")

with open(my_file, 'w+') as f:
    prefix = None
    for file in sorted(my_directory.iterdir()):
        file_prefix, _ = file.name.split('_')
        if file_prefix == prefix:
            f.write(", " + file.name)
        else:
            f.write("\n" + file.name)
            prefix = file_prefix

这会将my_directory中的每个文件名写入文件my_file中的单独行中。