使用 os.walk 的递归列表
Recursive list using 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))
我正在尝试构建路径名列表。到目前为止我的代码是:
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))