从列表中删除不匹配的文件名-Python

时间:2019-01-16 08:43:37

标签: python string directory

我正在从目录中读取文件名。然后,我将输出切碎,因此文件名中只有前10个字符,因为这会导致输出重复且不想包含文件名。 这是我的代码:

import os

for path, subdirs, files in os.walk(r'C:\\Users\User\Documents'):
   for filename in files:
        f = os.path.join(path, filename)
        print (str(f)[25:35])

这将返回如下列表:

NUMBER0001
NUMBER0002
NUMBER0003
XXXXXXXX11
XXXXXXXX11
XXXXXXXX11

预期输出:

NUMBER0001
NUMBER0002
NUMBER0003

如何从列表中删除不以“ NUMBER”开头的文件,或者如何删除开头为XXX的文件?

还可以按创建日期的顺序对输出进行排序吗?(文件名末尾的数字不引用文件创建的顺序)。

1 个答案:

答案 0 :(得分:1)

下面的代码仅用于使用带有“ NUMBER”前缀的文件名。

for path, subdirs, files in os.walk(r'C:\\Users\User\Documents'):
   for filename in files:
        if 'NUMBER' in filename:
            f = os.path.join(path, filename)
            print (str(f)[25:35])