Python os.path.walk() 方法
我现在在做一个大学作业,正在使用walk
这个方法。一切都运行得很好,但我希望有人能给我解释一下。
在下面的例子中,myvisit
这个方法里的a
参数是用来干什么的呢?
>>> from os.path import walk
>>> def myvisit(a, dir, files):
... print dir,": %d files"%len(files)
>>> walk('/etc', myvisit, None)
/etc : 193 files
/etc/default : 12 files
/etc/cron.d : 6 files
/etc/rc.d : 6 files
/etc/rc.d/rc0.d : 18 files
/etc/rc.d/rc1.d : 27 files
/etc/rc.d/rc2.d : 42 files
/etc/rc.d/rc3.d : 17 files
/etc/rc.d/rcS.d : 13 files
2 个回答
29
你回调函数的第一个参数是os.path.walk
函数的最后一个参数。这个参数最明显的用途是让你在多次调用辅助函数(在你的例子中是myvisit
)时,可以保持一些状态。
不过,os.path.walk
这个函数已经不推荐使用了。你应该使用os.walk
,这个函数不需要回调函数或者辅助参数(就像你例子中的a
)。
for directory, dirnames, filenames in os.walk(some_path):
# run here your code
11
这是你传给 walk 的参数,在你问题中的例子里是 None。