2010-05-29 2 views
11

현재 유니 할당에서 walk 메서드를 사용하고 있습니다. 모든 것이 잘 작동하지만 누군가가 나에게 설명 할 수 있기를 바랬습니다.Python os.path.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 
+12

os.path.walk'가되지 않습니다'사용'os.walk' – SilentGhost

+0

이 os.path.exists'와'os.path.isdir''에 대한 그 같은입니까? –

답변

9

그것은 당신이 당신의 콜백 함수

+0

아 맞습니다. 그래서'a'는'None'도 될 수 있을까요? –

+0

방금 ​​해봤습니다. 아니 :) 감사합니다 Krumeler. –

+3

파이썬에서 인수 나 변수가 중요하지 않다고 지정하는 일반적인 방법은 밑줄 ('_') 문자를 인수 이름으로 사용하는 것입니다. 이것은 관례 일 뿐이지 만, 일부 IDE (예 : PyDev)는 사용되지 않는 변수를 확인할 때이 기능을 사용합니다. – Krumelur

24

첫 번째 인수 귀하의 질문에, 예의 없음을 걸을에게 준 인수는 os.path.walk 함수의 마지막 인수되어 있습니다. 가장 확실한 사용법은 도우미 함수에 대한 연속적인 호출 (여러분의 경우, myvisit) 사이에 상태를 유지하도록 허용하는 것입니다.

os.path.walk은 더 이상 사용되지 않는 기능입니다. os.walk을 사용해야하는데 콜백 함수 나 도우미 인자 (예 : a)가 필요하지 않습니다.

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