পাইথনে 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']