2013-10-11 12 views
6

मैं निर्देशिका में सभी फ़ाइलों की एक सूची को रिकर्सली से प्राप्त करना चाहता हूं, बिना निर्देशिका के।रिकर्सिव os.listdir?

कहें कि "a.txt", "b.txt" के साथ एक निर्देशिका ~/files है और "d.txt" और "e" के साथ एक निर्देशिका "सी" है और "f.txt" ई के अंदर है। मैं ['/home/user/files/a.txt', '/home/user/files/b.txt', '/home/user/files/c/d.txt', '/home/user/files/c/e/f.txt'] जैसा दिखने वाली सूची प्राप्त करने के बारे में कैसे जाउंगा?

+0

'd.txt' और' f.txt' कि आप मौजूद नहीं है निर्दिष्ट करने के लिए पथ, इसलिए ... – roippi

+0

@roippi तय, धन्यवाद – tkbx

+0

निम्नलिखित में दूसरा जवाब देखें और बस को दूर प्रिंट dir_names http://stackoverflow.com/questions/4918458/how-to-traverse-through-the-files-in-a-directory – davecom

उत्तर

22
import os 
[os.path.join(dp, f) for dp, dn, fn in os.walk(os.path.expanduser("~/files")) for f in fn] 
+4

बदलें '~ ~/फ़ाइलें "' os.path.expanduser ("~/files") '' के साथ। अन्यथा, यह घर निर्देशिका के बजाय शाब्दिक '~' निर्देशिका मिल जाएगा। – falsetru

+0

@falsetru, अच्छा बिंदु। धन्यवाद –

संबंधित मुद्दे