我试图编写一个处理程序来处理不同子目录中的文件,但是虽然我的脚本可以查看这些文件,但它不能对它们做任何事情,因为它无法组合它们的路径。
问题部分来自这个循环:
for (path, dirs, files) in os.walk("data/"):
for image in files:
#do something to the image
现在,脚本在data
目录的第一级工作,但无法在data
的子目录上工作。
我试过使用os.path.join()
:
for (path, dirs, files) in os.walk("data/"):
print os.path.join(path, dirs)
但这会引发以下问题:
Traceback (most recent call last):
File "bench.py", line 26, in <module>
print os.path.join(path, dirs)
File "/usr/lib/python2.7/posixpath.py", line 75, in join
if b.startswith('/'):
AttributeError: 'list' object has no attribute 'startswith'
简而言之,我想做的是组装一个从data
到包含data
子目录的映像的路径。这样做的最佳做法是什么?
尝试:
os.walk documentation上的两个例子都是这样做的。
我想你想加入
path
和file
中每个file
的files
dirs
是位于目录path
中的目录的list
。实际上,您可以修改dirs
以防止os.walk
进入某些目录(整洁!)。相关问题 更多 >
编程相关推荐