我有一个文件夹,其中包含几个不同类型的文件(.cpp
, .hpp
, .ipp
...),并且在该文件夹中有多个子文件夹,这些子文件夹也包含这些不同的文件类型。我的问题是,是否有一个循环可以搜索第一个主文件夹并返回一个.cpp
包含任一文件夹中所有文件的列表?到目前为止,我知道:
folder_list = [f for f in os.listdir(os.getcwd()) if os.path.isdir(f)]
将返回子文件夹列表,然后我可以更改工作目录并获取要附加的文件列表。
我也知道:
file_list = [f for f in listdir(os.getcwd()) if isfile(join(os.getcwd(), f))]
将返回文件列表。
但是,我不会事先知道这些子文件夹(以及目录)的名称。感谢您的任何帮助
您可以使用listdir
和endswith
来识别字符串末尾的字符:
filetypes = ['cpp', 'hpp', 'ipp']
dir = "target directory"
files = [[f for f in os.listdir(dir) if f.endswith(type_)] for type_ in filetypes]
这将导致列表列表,其中每个列表将保存特定类型的文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句