2009-07-11 78 views
3

我有一個小型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

回答

3

不,沒有標準位置 - 在Windows上,它通常位於目錄os.path.join(os.environ['APPDATA'], 'appname')中,在Unix上它通常是os.path.join(os.environ['HOME'], '.appname')

3

用戶必須配置他們自己的密鑰。配置文件是保存這些信息的理想場所。

您對配置文件有幾種選擇。

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

  2. 使用簡單的Python模塊作爲配置文件。您只需execfile即可從該文件加載值。

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

+0

+1爲答案,但爲什麼你會用標準導入execfile? – ChristopheD 2009-07-11 12:12:53

+0

因爲我想將「globals」加載到我創建的字典中。這不是一個合適的模塊,我通常不需要任何東西,只有幾個全局變量。 – 2009-07-11 14:19:10

1

的路徑都可以通過擴大共同〜(波浪號)與os.path.expanduser()引用用戶的主目錄下的一個跨平臺的方式,像這樣:

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