पायथन OS के निर्दिष्ट पथ में फ़ाइल नामों को खोज सकता है। यह os मॉड्यूल का उपयोग करके walk() फ़ंक्शन के साथ किया जा सकता है। यह एक विशिष्ट पथ को इनपुट के रूप में लेगा और dirpath, dirnames, और filenames को शामिल करते हुए एक 3-टपल उत्पन्न करेगा।
नीचे दिए गए उदाहरण में हम D:\ नामक रूट डायरेक्टरी से शुरू करके smpl.htm नामक फ़ाइल खोज रहे हैं। os.walk() फ़ंक्शन पूरी डायरेक्टरी और इसके प्रत्येक सबडायरेक्टरी को खोजकर इस फ़ाइल का पता लगाता है। परिणाम के रूप में हम देखते हैं कि फ़ाइल मेन डायरेक्टरी और एक सबडायरेक्टरी दोनों में मौजूद है। हम यह प्रोग्राम विंडोज OS में चला रहे हैं।
उदाहरण
import os
def find_files(filename, search_path):
result = []
# रूट से टॉप-डाउन वॉकिंग
for root, dir, files in os.walk(search_path):
if filename in files:
result.append(os.path.join(root, filename))
return result
print(find_files("smpl.htm", "D:"))
आउटपुट
उपरोक्त कोड चलाने पर निम्न परिणाम मिलता है:
['D:\\TP\\smpl.htm', 'D:\\TP\\spyder_pythons\\smpl.htm']