@ কেেন্ডারের একটি বিকল্প সমাধান
import os
os.path.dirname(os.path.normpath(yourpath))
yourpath
পিতা-মাতার জন্য আপনি যে পথটি চান তা কোথায় ?
তবে এই সমাধানটি নিখুঁত নয়, যেহেতু এটি yourpath
খালি স্ট্রিং বা বিন্দুর ক্ষেত্রে হ্যান্ডেল করবে না ।
এই অন্যান্য সমাধানটি কর্নারের ক্ষেত্রে আরও সুন্দরভাবে পরিচালনা করবে:
import os
os.path.normpath(os.path.join(yourpath, os.pardir))
এখানে পাওয়া প্রতিটি মামলার ফলাফল (ইনপুট পাথ আপেক্ষিক):
os.path.dirname(os.path.normpath('a/b/')) => 'a'
os.path.normpath(os.path.join('a/b/', os.pardir)) => 'a'
os.path.dirname(os.path.normpath('a/b')) => 'a'
os.path.normpath(os.path.join('a/b', os.pardir)) => 'a'
os.path.dirname(os.path.normpath('a/')) => ''
os.path.normpath(os.path.join('a/', os.pardir)) => '.'
os.path.dirname(os.path.normpath('a')) => ''
os.path.normpath(os.path.join('a', os.pardir)) => '.'
os.path.dirname(os.path.normpath('.')) => ''
os.path.normpath(os.path.join('.', os.pardir)) => '..'
os.path.dirname(os.path.normpath('')) => ''
os.path.normpath(os.path.join('', os.pardir)) => '..'
os.path.dirname(os.path.normpath('..')) => ''
os.path.normpath(os.path.join('..', os.pardir)) => '../..'
ইনপুট পাথ পরম (লিনাক্স পাথ):
os.path.dirname(os.path.normpath('/a/b')) => '/a'
os.path.normpath(os.path.join('/a/b', os.pardir)) => '/a'
os.path.dirname(os.path.normpath('/a')) => '/'
os.path.normpath(os.path.join('/a', os.pardir)) => '/'
os.path.dirname(os.path.normpath('/')) => '/'
os.path.normpath(os.path.join('/', os.pardir)) => '/'
os.path.dirname
এর জন্য ফাংশনটি এরa+=5-4
চেয়েও বেশি সংশ্লেষিত হয়a+=1
। প্রশ্নটি কেবলমাত্র মূল ডিরেক্টরিকেই অনুরোধ করেছে, এটি বিদ্যমান নয় বা প্রতীকী লিঙ্কগুলি ধরে নিয়ে আসল সত্য পিতামহ নির্দেশিকা নয়।