我试图遍历目录树,并通过定义递归函数(而不是使用手术室步行)在Python中。在
import os
def walkfn(dirname):
if os.path.exists('output'):
file1 = open('output')
for line in file1:
if line.startswith('Final value:'):
print line
else:
for name in os.listdir(dirname):
path = os.path.join(dirname, name)
if os.path.isdir(path):
print "'", name, "'"
newdir = os.chdir(path)
walkfn(newdir)
cwd = os.getcwd()
walkfn(cwd)
我得到以下错误:
^{pr2}$
os.chdir()
返回None
,而不是新的目录名。将该结果传递给递归的walkfn()
函数,然后传递给os.listdir()
。在不需要赋值,只需将
path
传递给walkfn()
:您通常希望避免更改目录;如果代码使用绝对路径,则无需执行以下操作:
^{pr2}$相关问题 更多 >
编程相关推荐