আপনি যখন পাইথন ব্যবহার করেন, আপনার যা করতে চান তা করতে আপনাকে অবশ্যই সঠিক মডিউলগুলি ব্যবহার করতে হবে। এক্সটেনশন shp সহ একটি ডিরেক্টরিতে সমস্ত ফাইল সন্ধান করার জন্য, উদাহরণস্বরূপ, অনেক সহজ সমাধান রয়েছে যা বিরতি ছাড়াই উপস্থাপিত হয়েছিল, যা ভয়ঙ্কর ... (নাথান ডাব্লু দ্বারা উপস্থাপিত সমাধান হিসাবে, তবে আরও অনেকগুলি রয়েছে, কেবল ইন্টারনেটে অনুসন্ধান করুন)
প্রাসঙ্গিক মডিউলগুলির সাথে কয়েকটি উদাহরণ:
1) গ্লোব মডিউল সহ:
কেবল আকার:
import glob
import os
os.chdir("mydir")
for files in glob.glob("*.shp"):
print files
আকৃতি এবং জিওডাটাবেস:
import glob
types = ('*.shp', '*.gbd') # the tuple of file types
files_grabbed = []
for files in types:
files_grabbed.extend(glob.glob(files)) #files_grabbed = the list of shp and gbd files
আপনি যদি সাব-ডিরেক্টরিতেও অনুসন্ধান করতে চান:
import glob
for f in glob.iglob("/mydir/*/*.shp"): #search immediate subdirectories
print f
2) os.listdir এবং তালিকা উপলব্ধি (দুটি লাইনে) -> ফলাফলের তালিকা সহ
path = 'mydir'
shape_files = [f for f in os.listdir(path) if f.endswith('.shp')]
gdb_files = [f for f in os.listdir(path) if f.endswith('.gdb')]
3) fnmatch মডিউল সহ:
import fnmatch
for file in os.listdir('path'):
if fnmatch.fnmatch(file, '*.shp'):
print file
এবং আরও অনেকগুলি সমাধান, পুনরাবৃত্তি করা ইত্যাদি
arcpy.da.walk
।