পাইথনে ওয়ার্কিং ডিরেক্টরি কিভাবে পরিবর্তন করবেন

How Change Working Directory Python



একটি ওয়ার্কিং ডাইরেক্টরি হল একটি বর্তমান ডিরেক্টরি যেখানে আমরা কাজ করছি এবং যেখান থেকে স্ক্রিপ্ট চালানো হয়; এই ডিরেক্টরির মধ্যে, আমরা অনেক ফাইল (এর মধ্যে অবস্থিত) অ্যাক্সেস আছে। যাইহোক, আমাদের মাঝে মাঝে ডিরেক্টরি পরিবর্তন করতে হবে এবং ফাইল এবং ফোল্ডারের মধ্যে পিছনে যেতে হবে। এই টিউটোরিয়ালে আমরা শিখব কিভাবে পাইথনে ওয়ার্কিং ডিরেক্টরি পরিবর্তন করতে হয়।

ওএস মডিউল

প্রথম স্থানে, এটি অর্জন করতে, আমাদের পাইথনে ওএস মডিউল প্রয়োজন হবে। যেহেতু এটি প্রি-ইন্সটল করা আছে, তাই কিছু ইনস্টল করার দরকার নেই। ওএস মডিউলটি সাধারণত পাইথনে ব্যবহৃত হয় সিস্টেমে ফাইল এবং ফোল্ডারগুলিকে ইন্টারঅ্যাক্ট, ম্যানেজ এবং সংশোধন করতে। উদাহরণস্বরূপ, আমরা ডাইরেক্টরি তৈরি/অপসারণ করতে পারি, ওয়ার্কিং ডাইরেক্টরি পরিবর্তন করতে পারি, ওয়াকথ্রু ফাইল দেখতে পারি, ফাইলগুলি আছে কিনা ইত্যাদি।







বর্তমান কাজের ডিরেক্টরি পাওয়া

বর্তমান কাজের ডিরেক্টরি পেতে, আমরা getcwd () পদ্ধতি ওএস মডিউল থেকে। দয়া করে এখানে মনে রাখবেন যে কোন যুক্তি পাস করা হয় না। আমার ক্ষেত্রে, আউটপুট ছিল /home/kalyani/PycharmProjects/pythonProject1 একটি উবুন্টু মেশিনে (PyCharm চালাচ্ছে)। এর মানে হল যে প্রধান স্ক্রিপ্ট - main.py - এই ফোল্ডারে অবস্থিত (pythonProject1)। এবং মনে রাখবেন, কাজের ডিরেক্টরি, প্রথম এবং সর্বাগ্রে একটি ফোল্ডার!



আমদানি আপনি

# বর্তমান কাজের ডিরেক্টরি পান

current_directory= আপনিgetcwd()

ছাপা('আপনার বর্তমান কাজের ডিরেক্টরি %s'% current_directory)



বর্তমান কাজের ডিরেক্টরি পরিবর্তন করা

Chdir () পদ্ধতির সাহায্যে আপনার কাজের ডিরেক্টরি পরিবর্তন করা সহজ, যা ঠিক একটি যুক্তি নেয় - একটি স্ট্রিং হিসাবে নতুন অবস্থানের পথ।





আমদানি আপনি

# বর্তমান কাজের ডিরেক্টরি পান

current_directory= আপনিgetcwd()

ছাপা('আপনার বর্তমান কাজের ডিরেক্টরি %s'% current_directory)

প্রথম কাজটি হল ওয়ার্কিং ডিরেক্টরিতে নতুন পথ নির্ধারণ করা। উবুন্টুতে, এটি খুব সহজবোধ্য!

# আসুন একটি নতুন কাজের ডিরেক্টরি সেট করি

new_working_directory= '/হোম/কল্যাণী/ডেস্কটপ/পাইথন ডাইরেক্টরি'

উইন্ডোজ এ, আপনাকে ডাইরেক্টরি সংজ্ঞায়িত করতে ডবল ব্যাকস্ল্যাশ ব্যবহার করতে হবে।



#new_working_directory = 'C: ers Users \ never \ Desktop \ PythonDirectory'

পরবর্তীতে, আমরা একটি চেষ্টা-ব্যতীত ধারা সংজ্ঞায়িত করি। যদি পথটি বিদ্যমান থাকে, আমরা chdir () পদ্ধতি ব্যবহার করে একটি নতুন ওয়ার্কিং ডিরেক্টরিতে ওয়ার্কিং ডিরেক্টরি পরিবর্তন করব। যদি পথ একটি ডিরেক্টরি না হয়, এটি একটি ত্রুটি নিক্ষেপ করবে!

চেষ্টা করুন:

আপনিchdir(new_working_directory)

ছাপা('কাজের ডিরেক্টরি পরিবর্তন করা হয়েছে!')

ছাপা('WD: %s'%আপনিgetcwd())


ছাড়াNotADirectoryError:

ছাপা('আপনি কোনো ডিরেক্টরি বেছে নেননি।')


ছাড়াFileNotFoundError:

ছাপা('ফোল্ডারটি পাওয়া যায়নি। পথ ভুল। ')


ছাড়াঅনুমতি ত্রুটি:

ছাপা('এই ফোল্ডার/ফাইলে আপনার প্রবেশাধিকার নেই')

সম্পূর্ণ কোড এই মত দেখতে হবে:

আমদানি আপনি

# বর্তমান কাজের ডিরেক্টরি পান

current_directory= আপনিgetcwd()

ছাপা('আপনার বর্তমান কাজের ডিরেক্টরি %s'% current_directory)

# আসুন একটি নতুন কাজের ডিরেক্টরি সেট করি

#new_working_directory = '/home/kalyani/Desktop/PythonDirectory'

new_working_directory=আর'সি:। উপরিবেশনnকখনও ডিesktop। পিইথন ডিরেক্টরি '

চেষ্টা করুন:

আপনিchdir(new_working_directory)

ছাপা('কাজের ডিরেক্টরি পরিবর্তন করা হয়েছে!')

ছাপা('WD: %s'%আপনিgetcwd())


ছাড়াNotADirectoryError:

ছাপা('আপনি কোনো ডিরেক্টরি বেছে নেননি।')


ছাড়াFileNotFoundError:

ছাপা('ফোল্ডারটি পাওয়া যায়নি। পথ ভুল। ')


ছাড়াঅনুমতি ত্রুটি:

ছাপা('এই ফোল্ডার/ফাইলে আপনার প্রবেশাধিকার নেই')

আসলে, ভুলগুলি বিভিন্ন ধরণের ব্যতিক্রম উত্থাপন করতে পারে:

আমি NotADirectoryError:

এখন ধরুন একটি উদাহরণের জন্য যে আমি পথ বা নতুন কাজের ডিরেক্টরিটির জন্য নিম্নলিখিত কোডটি লিখেছি:

new_working_directory= 'সি:ব্যবহারকারীরাকখনো নাডেস্কটপপাইথন ডিরেক্টরিtext.txt '

আপনি এখানে যা লক্ষ্য করতে পারেন তা হল আমি text.txt নামে একটি পাঠ্য নথির পথ নির্দেশ করছি। এবং পরেরটি একটি ত্রুটি ফেলে দেবে যা একটি NotADirectoryError নামে পরিচিত। অন্য কথায়, আপনার পথ অবশ্যই কোন ধরণের একটি ডিরেক্টরি নির্দেশ করবে।

ii। FileNotFoundError:

একটি FileNotFoundError নিক্ষেপ করা হয় যখন পথটি বিদ্যমান থাকে না। সুতরাং, এই মুহূর্তের জন্য অনুমান করুন যে আমার ডেস্কটপে PythonDirectory নামে একটি ডিরেক্টরি নেই এবং আমি আমার পথ সেট করেছি:

new_working_directory= 'সি:। উপরিবেশনnকখনও ডিesktop। পিইথন ডিরেক্টরি '

এটি একটি নিক্ষেপ করবে FileNotFoundError । এই ত্রুটির সহজ অর্থ হল যে নির্দেশিকাটি আমরা নির্দেশ করছি তা বিদ্যমান নেই বা পাওয়া যায়নি।

iii। অনুমতি ত্রুটি:

প্রতি অনুমতি ত্রুটি নির্বাচিত ডিরেক্টরি সংশোধন বা অ্যাক্সেস করার জন্য ব্যবহারকারীর পর্যাপ্ত অনুমতি না থাকলে উত্থাপিত হয়।

iv। বাক্যগঠন ত্রুটি:

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

new_working_directory= 'সি:। উপরিবেশনnকখনও ডিesktop। পিইথন ডিরেক্টরি '

একটি সিনথেক্স ত্রুটি নিক্ষেপ করা হয়! যাইহোক, একটি সিনট্যাক্স ত্রুটি ধরা অনেক কঠিন কারণ এটি মূল্যায়ন, আমদানি বা কার্যকর করা প্রয়োজন। যেমন, যখন আমরা ব্লকগুলি ছাড়া চেষ্টা করে লিখি, তখন এই ধরনের ত্রুটি ধরা কঠিন।

উইন্ডোজ এ, কোন ত্রুটি এড়ানোর জন্য, পাথটি তিনটি ভিন্ন উপায়ে লিখতে পারে যেমন কোন ত্রুটি নিক্ষেপ করা হয় না:

পদ্ধতি 1: এই পদ্ধতিতে, আমরা স্ট্রিং সেট করার আগে একটি r যোগ করি।

new_working_directory=আর'সি:। উপরিবেশনnকখনও ডিesktop। পিইথন ডিরেক্টরি '

পদ্ধতি 2: আমরা ডবল ব্যাকস্ল্যাশ ব্যবহার করি।

new_working_directory= 'সি:ব্যবহারকারীরাকখনো নাডেস্কটপPythonDirectory '

পদ্ধতি 3: আমরা একটি একক ফরওয়ার্ড স্ল্যাশ ব্যবহার করি।

new_working_directory= 'C:/Users/never/Desktop/PythonDirectory'

পথ মডিউল

আমরা পাথ মডিউল ব্যবহার করে কাজের ডিরেক্টরিও পরিবর্তন করতে পারি। প্রথমে নিম্নরূপ পথটি ইনস্টল করুন (আমি মডিউলটির লিঙ্কও দিয়েছি):

পিপ ইনস্টল পাথ

(https: // পাইপি।org/প্রকল্প/পথ/)

পরবর্তী, আমরা লিখি:

থেকেপথআমদানিপথ

আমদানি আপনি

প্রথমে, চলুন ওএস মডিউল এবং getcwd () পদ্ধতি ব্যবহার করে বর্তমান কার্যকরী ডিরেক্টরি পরীক্ষা করি।

# চলুন বর্তমান কাজের ডিরেক্টরিটি পরীক্ষা করি

cwd= আপনিgetcwd()

ছাপা('বর্তমান কাজের ডিরেক্টরি হল: %s'% cwd)

ছাপা('---------------------------------------------------')

পরবর্তী, নতুন ওয়ার্কিং ডিরেক্টরিতে পাথ সেট করুন। এই ক্ষেত্রে, আমি একটি উইন্ডোজ মেশিনে উদাহরণ স্থাপন করতে বেছে নিয়েছি:

# নতুন ওয়ার্কিং ডিরেক্টরিতে পাথ সেট করুন

নতুন_পথ= 'সি:ব্যবহারকারীরাকখনো নাডেস্কটপPythonDirectory '

কাজের ডিরেক্টরি পরিবর্তন করতে Path () ব্যবহার করুন। Path () এখানে শুধুমাত্র একটি যুক্তি নেয়: নতুন ওয়ার্কিং ডিরেক্টরিতে আসল পথ এবং কাজটি সম্পন্ন করার জন্য chdir () পদ্ধতি ব্যবহার করে।

# কাজের ডিরেক্টরি পরিবর্তন করুন

পথ(নতুন_পথ)chdir()

ওয়ার্কিং ডিরেক্টরি পরিবর্তন করা হয়েছে কিনা তা পুনরায় পরীক্ষা করুন। এবং এখানে, আপনি ছবিতে দেখতে পাচ্ছেন, কার্যকারী ডিরেক্টরিটি প্রকৃতপক্ষে পরিবর্তিত হয়েছে!

# কাজের ডিরেক্টরিটি আবার পরীক্ষা করুন

# এটা কি পরিবর্তন করা হয়েছে?

cwd= আপনিgetcwd()

ছাপা('নতুন কাজের ডিরেক্টরি হল %s'% cwd)

ওয়ার্কিং ডাইরেক্টরি পরিবর্তন করা একটি সহজ কাজ এবং এটি একটি পদ্ধতি - chdir (পাথ) পদ্ধতি। যাইহোক, আপনি উইন্ডোজ মেশিন বা লিনাক্স মেশিনে আছেন কিনা তার উপর নির্ভর করে, আপনি কীভাবে স্ট্রিং হিসাবে পাথ ইনপুট করবেন সে সম্পর্কে আপনাকে সতর্ক থাকতে হবে। ভুলভাবে ইনপুট করা হলে, এটি একটি ত্রুটি ফেলতে পারে!

শুভ কোডিং!