2011-01-13 17 views
10

क्या पाइथन में .. जैसे पथ ऑपरेटरों को हल करने का कोई आसान तरीका है? उदाहरण के लिए एक फ़ंक्शन कॉल है जो कनवर्ट करेगा: /../../test/../path से /path?पायथन में '../../' पथ फिक्सिंग

उत्तर

19

आप कैनोलिक पथ प्राप्त करने के लिए os.path.realpath() का उपयोग कर सकते हैं। सामान्यीकृत सापेक्ष पथ प्राप्त करने के लिए, os.path.normpath() का उपयोग करें।

+0

realpath() सामान्य कार्य है। अच्छी तरह से काम। धन्यवाद। – rook

5

समारोह os.path.abspath का उपयोग आप os.path मॉड्यूल में abspath उपयोग कर सकते हैं कर सकते हैं।

os.path.abspath (पथ)

वापसी पथ पथ के एक सामान्यीकृत absolutized संस्करण। अधिकांश प्लेटफ़ॉर्म पर, यह मानदंड के बराबर है (शामिल हों (os.getcwd(), पथ)।

3

आप pathlib लाइब्रेरी का उपयोग कर रहे हैं, तो उपयोग करने के लिए विधि resolve है:

In [304]: print(p) 
/group_workspaces/cems2/fiduceo/Users/gholl/logs/2016/08/10/srf_errorprop/../../../../../scratch/accidentally_deleted_shift_log 

In [305]: print(p.resolve()) 
/group_workspaces/cems2/fiduceo/Users/gholl/scratch/accidentally_deleted_shift_log 
संबंधित मुद्दे