我有一个简单的功能
import config
def send_message(mailgunkey=config.MAILGUNKEY):
"""
send an email
"""
它依赖于我的config.py文件中定义的变量。我从我所有机器上的本地文件中读取变量,因为我不希望在任何存储库中都有我的密钥等。但是,我最近养成了使用Sphinx的习惯。生成html文档时,将对表达式config.MAILGUNKEY进行评估,并在html文件中显示实际密钥。有没有办法阻止这种不良行为?
答案 0 :(得分:2)
考虑使用这种方法:
import config
def send_message(mailgunkey=None):
"""
send an email
"""
if mailgunkey is None:
mailgunkey = config.MAILGUNKEY
一般来说,这种方法可以带来一些重要的优势:
None
作为默认值; config.MAILGUNKEY
; 在我看来,第二点是非常重要的一点,因为我会惊讶地发现在运行时对配置变量的更改没有任何影响。