হাই আপনার প্রথমে os.path.abspath (পাথ) এবং os.path.relpath (পথ) ফাংশন বুঝতে হবে
সংক্ষেপে os.path.abspath (পাথ) পরম পাথের জন্য একটি আপেক্ষিক পথ তৈরি করে । এবং প্রদত্ত পথটি যদি নিজেই একটি পরম পথ হয় তবে ফাংশনটি একই পথে ফিরে আসে।
একইভাবে os.path.relpath (পথ) আপেক্ষিক পথের জন্য একটি পরম পথ তৈরি করে । এবং প্রদত্ত পথটি যদি নিজেই আপেক্ষিক পথ হয় তবে ফাংশনটি একই পথে ফিরে আসে।
নীচে উদাহরণস্বরূপ আপনি উপরের ধারণাটি সঠিকভাবে বুঝতে পারবেন :
ধরুন আমার কাছে একটি ফাইল ইনপুট_ফিল_লিস্ট.টিএসটি আছে যাতে আমার পাইথন স্ক্রিপ্টটি প্রক্রিয়া করার জন্য ইনপুট ফাইলগুলির তালিকা রয়েছে।
ডি: \ conc \ input1.dic
ডি: \ conc \ input2.dic
ডি: \ Copyioconc \ input_file_list.txt
আপনার কাছে এই ফোল্ডারে কাঠামো উপরে দেখতে পান, তাহলে input_file_list.txt উপস্থিত Copyofconc পাইথন স্ক্রিপ্ট দ্বারা প্রক্রিয়াভুক্ত করা ফোল্ডার এবং ফাইলে উপস্থিত conc ফোল্ডারের
তবে ইনপুট_ফিল_লিস্ট.টেক্সট ফাইলের বিষয়বস্তু নীচে দেখানো হয়েছে:
.. \ conc \ input1.dic
.. \ conc \ input2.dic
এবং আমার অজগর স্ক্রিপ্টটি ডি: ড্রাইভে উপস্থিত রয়েছে ।
এবং ইনপুট_ফাইলে_লিস্ট.টিএসটিএক্স ফাইলটিতে প্রদত্ত আপেক্ষিক পাথ ইনপুট_ফিল_লিস্ট.টেক্সটের পাথের সাথে আপেক্ষিক ফাইলের সাথে সম্পর্কিত।
সুতরাং যখন পাইথন স্ক্রিপ্টটি বর্তমান কার্য সম্পাদনকারী ডিরেক্টরিটি কার্যকর করবে ( os.getcwd ( ব্যবহার করুন ) পাথ পেতে )
আমার আপেক্ষিক পথটি ইনপুট_ফিল_লিস্ট.টেক্সটের সাথে সম্পর্কিত হিসাবে , এটি "ডি: \ কপিওফকনক" , তাই আমাকে বর্তমান কার্য ডিরেক্টরিটি "ডি: \ কপিফোনক" এ পরিবর্তন করতে হবে ।
সুতরাং আমাকে os.chdir ('D: \ copyofconc') ব্যবহার করতে হবে , সুতরাং বর্তমানের চলমান ডিরেক্টরিটি "ডি: \ কপিওফোনক" হবে ।
ইনপুট 1.ডিক এবং ইনপুট 2.ডিক ফাইলগুলি পেতে , আমি ".. \ কনক \ ইনপুট 1.dic" লাইনগুলি পড়ব তারপর কমান্ডটি ব্যবহার করবে
ইনপুট 1_পাথ = os.path.abspath ('.. \ conc \ ইনপুট 1.dic') (পরম পাথের তুলনামূলক পাথ পরিবর্তন করতে Here এখানে বর্তমান কার্য ডিরেক্টরি হিসাবে "ডি: \ কপিফোনক" ফাইলটি রয়েছে। "কনক \ ইনপুট 1"। dic "" D: \ copyofconc "এর তুলনায় অ্যাক্সেস করা হবে)
সুতরাং ইনপুট 1_পথটি "ডি: \ কনক \ ইনপুট 1.ডিক" হবে