পাইথনে পুনরাবৃত্তভাবে গভীর অনুক্রমিক ডিরেক্টরি তৈরি করতে makedirs

ব্যবসায়

একটি অস্তিত্বহীন ডিরেক্টরিতে os.mkdir() দিয়ে একটি নতুন ডিরেক্টরি তৈরি করার সময় ত্রুটি

os.mkdir()এটি পাইথনে একটি ডিরেক্টরি (ফোল্ডার) তৈরি করতে ব্যবহৃত পদ্ধতি। যদি আপনি একটি অস্তিত্বহীন ডিরেক্টরিতে একটি নতুন ডিরেক্টরি তৈরি করার চেষ্টা করেন, একটি ত্রুটি ঘটবে।(FileNotFoundError)

import os

os.mkdir('not_exist_dir/new_dir')
# FileNotFoundError

os.madeirs() দিয়ে পুনরাবৃত্তভাবে ডিরেক্টরি তৈরি করুন

আপনি যদি os.mkdir() এর পরিবর্তে os.makedirs() ব্যবহার করেন তবে এটি একটি মধ্যবর্তী ডিরেক্টরি তৈরি করবে, যাতে আপনি পুনরাবৃত্তভাবে একটি গভীর স্তরবিন্যাস ডিরেক্টরি তৈরি করতে পারেন।

os.makedirs('not_exist_dir/new_dir')

এই উদাহরণের ক্ষেত্রে, এটি একযোগে তাদের সব তৈরি করবে। একাধিক নতুন মধ্যবর্তী ডিরেক্টরি থাকলে এটা ঠিক আছে।

  • মধ্যবর্তী ডিরেক্টরি:not_exist_dir
  • চূড়ান্ত ডিরেক্টরি:new_dir

যাইহোক, যদি শেষ ডিরেক্টরিটি ইতিমধ্যেই বিদ্যমান থাকে তবে একটি ত্রুটি ঘটবে।(FileExistsError)

os.makedirs('exist_dir/exist_dir')
# FileExistsError

যদি একটি যুক্তি বিদ্যমান থাকে_ ঠিক আছে

পাইথন 3.2 থেকে, বিদ্যমান_ওক আর্গুমেন্ট যোগ করা হয়েছে, এবং যদি exist_ok=True হয়, তাহলে কোনো ত্রুটি ঘটবে না এমনকি যদি শেষ ডিরেক্টরি ইতিমধ্যেই বিদ্যমান থাকে। যদি শেষ ডিরেক্টরিটি বিদ্যমান না থাকে, একটি নতুন তৈরি করা হবে, এবং যদি এটি বিদ্যমান থাকে তবে কিছুই করা হবে না। এটি সুবিধাজনক কারণ আপনাকে আগে থেকে টার্মিনাল ডিরেক্টরির অস্তিত্ব পরীক্ষা করতে হবে না।

os.makedirs('exist_dir/exist_dir', exist_ok=True)

যদি আর্গুমেন্ট বিদ্যমান_ওকে অনুপস্থিত থাকে

যদি আপনার কাছে পাইথনের একটি পুরানো সংস্করণ থাকে এবং os.madeirs-এ argument exist_ok না থাকে, তাহলে আপনি os.path.exists ব্যবহার করতে পারেন একটি শেষ ডিরেক্টরি আছে কিনা তা নির্ধারণ করতে, এবং তারপরে যদি না থাকে তবেই একটি নতুন তৈরি করুন। শেষ ডিরেক্টরি।

if not os.path.exists('exist_dir/exist_dir'):
    os.makedirs('exist_dir/exist_dir')