python - 使用 os.walk 的递归列表
问题描述
我正在尝试构建路径名列表。我到目前为止的代码是:
os.chdir(inputDir)
if Resursive is False:
filePathList = [os.path.join(inputDir, f) for f in os.listdir(inputDir) if f.endswith('.tif')]
if Resursive is True:
for root, dirs, files in os.walk(inputDir):
for file in files:
if file.endswith('.tif'):
filePathList = (os.path.join(root, file))
显然,这会导致一个问题,在这种Recursive is True
情况下,filePathList
每次都会被覆盖。在其他语言中,我会做类似filePathList[i] = (os.path.join(root, file))
但使用walk
file
而files
不是可以用作索引值的数字。
在这种情况下,最好的处理方式是Recursive is True
什么?
解决方案
os.chdir(inputDir)
if Resursive is False:
filePathList = [os.path.join(inputDir, f) for f in os.listdir(inputDir) if f.endswith('.tif')]
if Resursive is True:
filePathList = []
for root, dirs, files in os.walk(inputDir):
for file in files:
if file.endswith('.tif'):
filePathList.append(os.path.join(root, file))
推荐阅读
- php - 如何以表格格式设置我的 php 电子邮件回复样式?
- python - ModuleNotFoundError:没有名为“瓶子”的模块
- angular - Angular ReactiveForm 显示值 OnPush
- android - Android:构建时指向 DI:dagger 的“构建失败”错误
- java - Html 输入数字仅接受自然数或带有 ,25 或 ,5
- angular - 我应该如何使用 transloco i18n(internationalization) 库更改 Material Table 标题以进行分页和页面范围、下一个、上一个按钮?
- r - 从 VBA 运行 R 脚本
- angular-material - 使用 ng generate 生成材质组件时,找不到 NgModule 错误
- python - 如何合并 matplotlib.table 中的单元格
- oracle - 我们可以从 oracle 中的匿名块调用过程或函数吗?