我有一些代码可以查看单个文件夹并提取文件.但现在文件夹结构已经改变,我需要遍历搜索匹配文件的文件夹.
旧代码看起来像什么
GSB_FOLDER = r'D:\Games\Gratuitous Space Battles Beta'
def get_module_data():
module_folder = os.path.join(GSB_FOLDER, 'data', 'modules')
filenames = [os.path.join(module_folder, f) for f in
os.listdir(module_folder)]
data = [parse_file(f) for f in filenames]
return data
Run Code Online (Sandbox Code Playgroud)
但现在文件夹结构已经改变为这样
其中folder1,2或3可以是任何文本字符串
我如何重写上面的代码来做这个...我被告知os.walk但我只是在学习Python ...所以任何帮助表示赞赏
你刚刚调用没有太多变化os.walk,它会以递归方式通过目录并返回文件,例如
for root, dirs, files in os.walk('/tmp'):
if os.path.basename(root) != 'modules':
continue
data = [parse_file(os.path.join(root,f)) for f in files]
Run Code Online (Sandbox Code Playgroud)
在这里,我只检查名为'modules'的文件夹中的文件,您可以更改该检查以执行其他操作,例如在某处具有模块的路径 root.find('/modules') >= 0
| 归档时间: |
|
| 查看次数: |
10423 次 |
| 最近记录: |