文件名扫描某些名称Python

时间:2016-01-31 00:12:27

标签: python

我在目录中有很多文件,大约100个,大多数文件名以#34; Mod"开头,我需要添加以" Mod"开头的所有文件名。到列表,以便我稍后可以在我的代码中引用它们。有帮助吗?谢谢!

2 个答案:

答案 0 :(得分:2)

使用glob包。

import glob

filepaths = glob.glob('/path/to/file/Mod*')

更一般地说,您可以使用os.listdir。与glob不同,它只返回文件名的最后一部分(没有完整路径)。

import os

directory = '/path/to/directory'
filenames = os.listdir(directory )

full_filepaths = [os.path.join(directory, f) for f in filenames]
only_files = [f for f in full_filepaths if os.path.isfile(f)]

答案 1 :(得分:0)

您可以使用glob库查找具有给定模式的文件:

import glob,os
mylist=[]
os.chdir("/mydir")
for file in glob.glob("Mod*"):
        mylist.append(file)

print mylist

或者您可以使用os.walk

for root, dirs, files in os.walk('/mydir'):
    for names in files:
        if names.startswith("Mod"):
             mylist.append(os.path.join(root, names))