Aaron Moodie
Aaron Moodie

Reputation: 1965

Python os.path.walk() method

I'm currently using the walk method in a uni assignment. It's all working fine, but I was hoping that someone could explain something to me.

in the example below, what is the a parameter used for on the myvisit method?

>>> 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

Upvotes: 15

Views: 53292

Answers (2)

tzot
tzot

Reputation: 95911

The first argument to your callback function is the last argument of the os.path.walk function. Its most obvious use is to allow you to keep state between the successive calls to the helper function (in your case, myvisit).

os.path.walk is a deprecated function. You really should use os.walk, which has no need for either a callback function or helper arguments (like a in your example).

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

Upvotes: 29

Krumelur
Krumelur

Reputation: 32497

It's the argument you gave to walk, None in the example in your question

Upvotes: 11

Related Questions