概述
# Wow. Much nesting. So spacebar if __name__ == '__main__: for eachDir in list_of_unrelated_directories: for eachFile in os.listdir(eachDir): if eachFile.endswith('.json'): # do stuff here
我想知道是否有一种更优雅的方式.我想不要让我的代码嵌套三层这样深,如果我可以把它变成一个单行的像
for each file that ends with .json in all these directories: # do stuff
那将更加令人敬畏.我还编辑了这一点,指出目录不在同一个文件夹中.就像你可能在你的主文件夹和/ tmp文件夹中寻找.json文件一样.所以我不是试图通过单个文件夹递归移动.
这是功能:
import os def files_from_directories(directories,filetype): """Yield files of filetype from all directories given.""" for directory in directories: for file in glob.glob(os.path.join(directory,'*' + filetype)) yield file
# What a good one-liner!!!! for json_file in files_from_directories(directories,'.json'): # do stuff
所以现在你有一个单行,一个非常清楚.此外,如果您要处理任何其他类型的文件,您可以只使用不同的文件类型重用该函数.
总结
以上是编程之家为你收集整理的pythonic方式访问目录列表中的每个文件全部内容,希望文章能够帮你解决pythonic方式访问目录列表中的每个文件所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧