আমি এখনও ২.7-এর একটি কার্যকর উত্তর দেখতে পাচ্ছি না যার জন্য অতিরিক্ত নির্ভরতা ইনস্টল করার প্রয়োজন হয় না এবং এটি ফাইলের ডিরেক্টরি থেকেও শুরু হয়। এটি একটি একক-লাইন সমাধান হিসাবে দুর্দান্ত নয়, তবে স্ট্যান্ডার্ড ইউটিলিটিগুলি ব্যবহার করে কোনও ভুল নেই।
import os
grandparent_dir = os.path.abspath(
os.path.join(
os.path.join(
os.path.dirname(
os.path.abspath(__file__)
),
os.pardir
),
os.pardir
)
)
print grandparent_dir
এবং এটি ~/Documents/notes
কার্যকরভাবে প্রমাণ করার জন্য, আমি এখানেই শুরু করি যাতে আমি দেখাই যে বর্তমান ডিরেক্টরি ফলাফলকে প্রভাবিত করে না। আমি grandpa.py
সেই স্ক্রিপ্টের সাথে ফাইলটি "স্ক্রিপ্টস" নামে একটি ফোল্ডারে রেখেছি । এটি ম্যাকের ডকুমেন্টস দির এবং তারপরে ব্যবহারকারীর কাছে পৌঁছায়।
(testing)AlanSE-OSX:notes AlanSE$ echo ~/Documents/scripts/grandpa.py
/Users/alancoding/Documents/scripts/grandpa.py
(testing)AlanSE-OSX:notes AlanSE$ python2.7 ~/Documents/scripts/grandpa.py
/Users/alancoding
এটি পিতামাতার দিরের উত্তরটির সুস্পষ্ট এক্সট্রোপোলেশন । কম লাইনে কম-ভাল সমাধানের চেয়ে সাধারণ সমাধান ব্যবহার করা ভাল।
pathlib
সমাধান একটু আরো সুন্দর এবং আরো পাঠযোগ্য, কিন্তু পাইথন 2.7 সঙ্গে অন্তর্ভুক্ত করা হয় না। আমি যা পেয়েছি তার সাথে লাঠি বলতে চাই, সম্ভবত একটি মন্তব্য যুক্ত করুন।