我有一個小型Python程序,它使用Google Maps API密鑰。我準備好簽入我的代碼,並且我不想將密鑰包含在SVN中。在Python中存儲密鑰和密碼的位置
在規範的PHP應用程序中,您在LocalSettings.php中放置了密鑰,數據庫密碼和其他特定於應用程序的配置。 Python程序員希望找到並修改類似的文件/位置嗎?
我有一個小型Python程序,它使用Google Maps API密鑰。我準備好簽入我的代碼,並且我不想將密鑰包含在SVN中。在Python中存儲密鑰和密碼的位置
在規範的PHP應用程序中,您在LocalSettings.php中放置了密鑰,數據庫密碼和其他特定於應用程序的配置。 Python程序員希望找到並修改類似的文件/位置嗎?
不,沒有標準位置 - 在Windows上,它通常位於目錄os.path.join(os.environ['APPDATA'], 'appname')
中,在Unix上它通常是os.path.join(os.environ['HOME'], '.appname')
。
用戶必須配置他們自己的密鑰。配置文件是保存這些信息的理想場所。
您對配置文件有幾種選擇。
使用ConfigParser
解析配置文件。
使用簡單的Python模塊作爲配置文件。您只需execfile
即可從該文件加載值。
創建您自己的配置文件表示法並解析它。
+1爲答案,但爲什麼你會用標準導入execfile? – ChristopheD 2009-07-11 12:12:53
因爲我想將「globals」加載到我創建的字典中。這不是一個合適的模塊,我通常不需要任何東西,只有幾個全局變量。 – 2009-07-11 14:19:10
的路徑都可以通過擴大共同〜(波浪號)與os.path.expanduser()
引用用戶的主目錄下的一個跨平臺的方式,像這樣:
appdir = os.path.join(os.path.expanduser('~'), '.myapp')
感謝維奈。我用它來處理execfile(os.path.join(os.environ ['HOME'],'.appname'))。感謝S.Lott的execfile方法。 – brianegge 2009-07-11 12:38:17