less than 1 minute read

পাইথনে একাধিক ফোল্ডার বা ডিরেক্টরি নিয়া কাজ করা একটা মহা ঝামেলার কাজ। এই ঝামেলার কাজ পাইথন os মডিউল দিয়ে সমাধান করা যায়। নিচে উদাহরণ সহ তলে ধরা হলো।

os.getcwd() ব্যবহার করে বেজপাথ ডিফাইন করা

আমরা আমাদের বর্তমান কর্মরত ফোল্ডারকে বেজপাথ হিসেবে ডিফাইন করবো। উদাহরণ হিসাবে আমাদের বর্তমান কর্মরত পাথ/ফোল্ডার হলোঃ home/sagor/Desktop/hello

import os

BASE_PATH = os.getcwd()
print(BASE_PATH)
# output: home/sagor/Desktop/hello

বেজপাথ ইনিশিয়ালাইজেশন হয়ে গেছে।

hello ফোল্ডারে ভীতর আমাদের তিনটি সাবফোল্ডার আছে।

  • src (contains source script)
  • data (contains data files)
  • logs (contains our logs file)

os.path.join ব্যবহার করে এই তিন সাবফোল্ডারকে বেজপাথে যুক্ত করা

এখন আমরা এই তিন সাবফোল্ডারকে আমাদের বেজপাথে যুক্ত করবো।

SRC_PATH = os.path.join(BASE_PATH, 'src')
DATA_PATH = os.path.join(BASE_PATH, 'data')
LOGS_PATH = os.path.join(BASE_PATH, 'logs')


# ধরি, 'extra' নামে আরেকটি ফোল্ডার 'hello' ফোল্ডারের একধাপ বাইরে আছে। মানে 'Desktop' এ আছে। 
# আমরা 'extra' কেও বেজপাথে যুক্ত করতে পারি।

EXTRA_PATH = os.path.join(BASE_PATH, '../extra')


এখন এই সব ডিফাইন পাথ নিয়ে আপনি যেকোন কাজ করতে পারেন।

উদাহরণ

os.listdir ব্যবহার করে ‘DATA_PATH’ এর ভীতর যত ফাইল আছে তা আমরা প্রিন্ট করবো।


files = os.listdir(DATA_PATH)

for file in files:
    print(file)
    
# output: 'hello.png''hello1.png'


Comments