2010-05-29 24 views
11

Şu anda tek bir atamada walk yöntemini kullanıyorum. Her şey yolunda gidiyor, ama birinin bana bir şey açıklayabileceğini umuyordum. Aşağıdaki örnekte, myvisit yönteminde kullanılan a parametresi nedir?Python os.path.walk() yöntemi

>>> 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' kaldırıldı 'kullanımı' os.walk' – SilentGhost

+0

os.path.exists' ve 'os.path.isdir'' için aynıdır? –

cevap

9

Bu geri arama işlevi için

+0

ah doğru, tamam. Yani sadece 'Yok' da olabilir mi? –

+0

sadece denedi. Hayır. Teşekkürler Krumeler. –

+3

Python'da bir argümanın veya değişkenin ilgi alanı olmadığını belirtmek için kullanılan alışılmış yol, alt çizgi ('_') karakterini argüman adı olarak kullanmaktır. Bu yalnızca bir sözleşmedir, ancak bazı IDE'ler (örneğin PyDev), kullanılmayan değişkenleri denetlerken bunu onurlandırır. – Krumelur

24

İlk argüman sorunuzu, örnekteki Hiçbiri yürümeye verdi argümanı os.path.walk fonksiyonunun son argüman mi. En belirgin kullanımı, yardımcı işlevini yardımcı işlevine (sizin durumunuzda, myvisit) tutmak için izin vermektir.

os.path.walk, kullanımdan kaldırılmış bir işlevdir. Geri arama işlevi veya yardımcı argümanlarına (örneğinizde a gibi) gerek olmayan os.walk'u kullanmalısınız.

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