Filename scanning for certain names Python
本问题已经有最佳答案,请猛点这里访问。
我在一个目录中有很多文件,比如说大约100个,它们的大多数文件名以"mod"开头,我需要将以"mod"开头的所有文件名添加到一个列表中,以便稍后在代码中引用它们。有什么帮助吗?谢谢!
使用glob包。
1 2 3 | import glob filepaths = glob.glob('/path/to/file/Mod*') |
一般来说,您可以使用
1 2 3 4 5 6 7 | 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)] |
您可以使用glob库查找具有给定模式的文件:
1 2 3 4 5 6 7 | import glob,os mylist=[] os.chdir("/mydir") for file in glob.glob("Mod*"): mylist.append(file) print mylist |
或者你可以使用os.walk
1 2 3 4 | for root, dirs, files in os.walk('/mydir'): for names in files: if names.startswith("Mod"): mylist.append(os.path.join(root, names)) |