मैं एक Jupyter Notebook सर्वर (v4.2.2) पर Python 3.4 के साथ हूं .2 और मैं वैश्विक नाम __file__
का उपयोग करना चाहता हूं, क्योंकि नोटबुक को अन्य उपयोगकर्ताओं से क्लोन किया जाएगा और एक सेक्शन में मुझे चलाना होगा:
def __init__( स्वयं, प्रशिक्षण नमूनेफ़ोल्डर = "नमूने", मास्कफ़ोल्डर = "मास्क"): स्वयं प्रशिक्षण नमूने फ़ोल्डर = स्वयं। पथ): वापसी पथ अन्य: वापसी os.path.join(os.path.dirname(__file__), पथ)
__getAbsPath(self, path)
जाँचता है कि क्या कोई पथ
परम एक सापेक्ष या निरपेक्ष पथ है और पथ
का पूर्ण संस्करण लौटाता है। इसलिए मैं बाद में सुरक्षित रूप से दिए गए पथ
का उपयोग कर सकता हूं।
लेकिन मुझे त्रुटि मिलती है
NameError: name
"__file__"
परिभाषित नहीं है
I खोजा गया इस त्रुटि को ऑनलाइन किया और "समाधान" पाया कि मुझे sys.argv[0]
का बेहतर उपयोग करना चाहिए, लेकिन print(sys.argv[0])
रिटर्न
/usr/local/lib/python3.4/dist-packages/ipykernel/__main__.py
लेकिन सही नोटबुक स्थान होना चाहिए हो /home/ubuntu/notebooks/
।
संदर्भ के लिए धन्यवाद मैं Martijn Pieters (टिप्पणियों) से वर्तमान IPython नोटबुक नाम कैसे प्राप्त करूं अंतिम उत्तर (स्वीकृत नहीं) मेरे लिए एकदम सही है जरूरत है:
प्रिंट(os.getcwd())
/home/ubuntu/notebooks