在Python中存储密钥和密码的位置

问题描述:

我有一个小型Python程序,它使用Google Maps API密钥。我准备好签入我的代码,并且我不想将密钥包含在SVN中。在Python中存储密钥和密码的位置

在规范的PHP应用程序中,您在LocalSettings.php中放置了密钥,数据库密码和其他特定于应用程序的配置。 Python程序员希望找到并修改类似的文件/位置吗?

+0

感谢维奈。我用它来处理execfile(os.path.join(os.environ ['HOME'],'.appname'))。感谢S.Lott的execfile方法。 – brianegge 2009-07-11 12:38:17

不,没有标准位置 - 在Windows上,它通常位于目录os.path.join(os.environ['APPDATA'], 'appname')中,在Unix上它通常是os.path.join(os.environ['HOME'], '.appname')

用户必须配置他们自己的密钥。配置文件是保存这些信息的理想场所。

您对配置文件有几种选择。

  1. 使用ConfigParser解析配置文件。

  2. 使用简单的Python模块作为配置文件。您只需execfile即可从该文件加载值。

  3. 创建您自己的配置文件表示法并解析它。

+0

+1为答案,但为什么你会用标准导入execfile? – ChristopheD 2009-07-11 12:12:53

+0

因为我想将“globals”加载到我创建的字典中。这不是一个合适的模块,我通常不需要任何东西,只有几个全局变量。 – 2009-07-11 14:19:10

的路径都可以通过扩大共同〜(波浪号)与os.path.expanduser()引用用户的主目录下的一个跨平台的方式,像这样:

appdir = os.path.join(os.path.expanduser('~'), '.myapp')