मुझे किसी फ़ंक्शन को परिभाषित करना चाहिए, where
, जो बता सकता है कि इसे कहां निष्पादित किया गया था, जिसमें कोई तर्क पारित नहीं हुआ था? सभी फाइलों में ~/ऐप्स/निर्धारित करें कि कोई फ़ंक्शन निष्पादित किया गया था?
a.py:
def where():
return 'the file name where the function was executed'
b.py:
from a import where
if __name__ == '__main__':
print where() # I want where() to return '~/app/b.py' like __file__ in b.py
c.py:
from a import where
if __name__ == '__main__':
print where() # I want where() to return '~/app/c.py' like __file__ in c.py
जैसा कि आप ध्यान देते हैं, आपके पास पहले से ही वह जानकारी है जिसे आप '__file__' के रूप में चाहते हैं। इसे वापस करने के लिए आपको एक फ़ंक्शन लिखने की आवश्यकता क्यों है? – kindall
यहां एक नज़र डालें: http://docs.python.org/2/library/inspect.html – StoryTeller
@kindall मैं चाहता हूं कि() पता है कि इसे कहां निष्पादित किया गया है, और इसे अपने फ़ंक्शन बॉडी में एक विविध के रूप में उपयोग करें। – walknotes