2017-04-01 15 views
1

只有一個包含單引號的字符串的文件似乎是合法的Python代碼。 Python解釋器不會抱怨以下:只包含單個字符串的Python模塊

#!/usr/bin/python 

"somevalue" 

如果我想保留一些一次性值(比如一個API密鑰),從其他配置設置隔離,是有可能導入文件中像這樣到另一個腳本作爲模塊並使用字符串?

導入模塊的默認字符串表示形式將類似於<module x from y-path>。該模塊中包含的字符串值是否可以被訪問?

(搶先切斷切線,我明白我可以讀取該文件爲文本或其他腳本賦值給variablefrom module import variable。還有更多的傳統的方法來實現相關的目標。我問了一個願望以更好地理解語言的設計和功能。)

回答

3

該字符串實際上最終成爲模塊的文檔字符串。 所以它被模塊的__doc__屬性訪問。 Python拾取它在模塊,類或函數中找到的第一個鬆散字符串以確定其文檔字符串。

https://www.python.org/dev/peps/pep-0257/#what-is-a-docstring

+1

啊哈!這教會了我一些東西。我很高興我問。 –

1

您也可以通過使用inspect檢索您的字符串。這幾乎是一樣的__doc__但它也得到了「清理」由inspect.cleandoc()

import inspect 
value = inspect.getdoc(__import__('filename')) 
相關問題