Python模块仅包含单个字符串

时间:2017-04-01 18:25:45

标签: python

合法的Python代码似乎是一个只包含单个引号括起的字符串的文件。 Python解释器不会抱怨以下内容:

#!/usr/bin/python

"somevalue"

如果我想保留与其他配置设置隔离的一些一次性值(例如API密钥),是否可以将这样的文件作为模块导入另一个脚本并使用字符串?

导入模块的默认字符串表示形式类似于<module x from y-path>。可以以某种方式访问​​该模块中包含的字符串值吗?

(为了预先切断切线,我理解我可以将文件作为文本阅读或将值分配给另一个脚本中的variablefrom module import variable。有更多传统方法可以实现相关目标。我想要更好地理解语言的设计和能力。)

2 个答案:

答案 0 :(得分: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'))