Python os.path.walk()方法

时间:2010-05-29 07:56:25

标签: python

我目前在单一作业中使用walk方法。这一切都很好,但我希望有人可以向我解释一些事情。

在下面的示例中,a方法中使用的myvisit参数是什么?

>>> 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 个答案:

答案 0 :(得分:26)

回调函数的第一个参数是os.path.walk函数的最后一个参数。它最明显的用途是允许你在连续调用辅助函数之间保持状态(在你的情况下,myvisit)。

os.path.walk是一个已弃用的函数。你真的应该使用os.walk,它不需要回调函数或辅助参数(例如你的a)。

for directory, dirnames, filenames in os.walk(some_path):
    # run here your code

答案 1 :(得分:9)

这是你给步行的论点,在你的问题的例子中没有