我正在尝试为来自不同文件夹的具有相同名称和格式的多个文件创建路径列表。我尝试使用以下代码使用os.walk进行此操作:
import os
list_raster = []
for (path, dirs, files) in os.walk(r"C:\Users\Douglas\Rasters\Testing folder"):
for file in files:
if "woody02.tif" in file:
list_raster.append(files)
print (list_raster)
但是,这只能给我两件事
我只需要每个文件夹中指定的'woody02.txt'的完整位置。
我在这里做什么错了?
答案 0 :(得分:1)
完整路径名是os.walk
返回的列表中元组中的第一项,因此它已经分配给您的path
变量。
更改:
list_raster.append(files)
收件人:
list_raster.append(os.path.join(path, file))
答案 1 :(得分:0)
在您发布的示例代码中,您将files
附加到列表中,而不只是当前文件,为了获得当前文件的完整路径和文件名,您需要将代码更改为某些内容像这样:
import os
list_raster = []
for (path, dirs, files) in os.walk(r"C:\Users\Douglas\Rasters\Testing folder"):
for file in files:
if "woody02.tif" in file:
# path will hold the current directory path where os.walk
# is currently looking and file would be the matching
# woody02.tif
list_raster.append(os.path.join(path, file))
# wait until all files are found before printing the list
print(list_raster)