Python3'te os.walk'u alfabetik sırayla dizinleri ziyaret etmeye zorlamanın mümkün olup olmadığını bilmek isterim. Burada piton Yukarıdaki kod dizini vururpython3'ün os.walk'unu alfabetik sırayla dizinleri ziyaret etmeye zorlayabilir miyim? Nasıl?
ryan:~/bktest$ ls -1 sample
CD01
CD02
CD03
CD04
CD05
--------
def main_work_subdirs(gl):
for root, dirs, files in os.walk(gl['pwd']):
if root == gl['pwd']:
for d2i in dirs:
print(d2i)
, çıkış edilir:
ryan:~/bktest$ ~/test.py sample
CD03
CD01
CD05
CD02
CD04
Ben yürüyüşe zorlamak istiyorum Örneğin, aşağıda bir dizin ve bu dizinin yol gösterecektir bazı kod Bu direktifleri alfabetik sırada, 01, 02 ... 05
adresinde ziyaret edebilirsiniz. python3 doc for os.walk
, bu diyor ki: yukarıdan aşağıya doğru olduğunda
, arayan yerinde ve yürüyüş ((belki del veya dilim ataması kullanarak)) sadece olacak -recurse alt dizinleri içine dirnames listesini değiştirebileceğiniz isimler direk olarak kalır; Bu aramayı budamak için kullanılabilir, ben
os.walk
üzerinde alfabetik ziyaret düzen empoze anlamına mı geliyor
ziyaret belirli bir düzen empoze? Öyleyse nasıl?
, bu oldukça harika. Jeneratörler ile yapabileceğin tek şeyin onları ezberlediğini düşündüm. –
@ryan_m: Bu * yapabileceğiniz her şey *. Ancak, iterasyondaki bir sonraki adım, birincisi ile işiniz bitene kadar oluşturulmadığından, bu tür hilelere izin verir. :-) –
güzel hack! :-) ~ –