পাইথন 3.5 এবং নতুনতে নতুন পুনরাবিপন্ন **/
কার্যকারিতা ব্যবহার করুন :
configfiles = glob.glob('C:/Users/sam/Desktop/file1/**/*.txt', recursive=True)
কখন recursive
সেট করা হয়, **
তারপরে একটি পাথ বিভাজক 0 বা আরও সাব-ডাইরেক্টরিয়ের সাথে মেলে।
পূর্ববর্তী পাইথন সংস্করণগুলিতে glob.glob()
সাব ডাইরেক্টরিগুলিতে পুনরাবৃত্তভাবে ফাইল তালিকাবদ্ধ করতে পারে না।
os.walk()
সেক্ষেত্রে আমি এর fnmatch.filter()
পরিবর্তে একত্রিত ব্যবহার করব :
import os
import fnmatch
path = 'C:/Users/sam/Desktop/file1'
configfiles = [os.path.join(dirpath, f)
for dirpath, dirnames, files in os.walk(path)
for f in fnmatch.filter(files, '*.txt')]
এটি আপনার ডিরেক্টরিগুলি পুনরাবৃত্তভাবে চলবে এবং সমস্ত পরম পথের নামগুলি মেলানো .txt
ফাইলগুলিতে ফিরে আসবে । এই নির্দিষ্ট ক্ষেত্রে fnmatch.filter()
ওভারকিল হতে পারে, আপনি একটি .endswith()
পরীক্ষাও ব্যবহার করতে পারেন :
import os
path = 'C:/Users/sam/Desktop/file1'
configfiles = [os.path.join(dirpath, f)
for dirpath, dirnames, files in os.walk(path)
for f in files if f.endswith('.txt')]