2017-07-06 88 views
0

我有文件名爲config.py,內容如下圖所示:如何修改python模塊內容?

logindata = [ 
    {'user': '18320967034', 'password': '123456'} 
] 

我想修改logindata和寫回,

import config 
config.logindata[0]['password'] = 'xxxx' 

我怎麼能寫回config.py

請不要告訴我用.ini/configparser

+2

(一)寫這樣的說法是不* *執着,和(b)從不存儲密碼散列的... –

+0

@WillemVanOnsem如果它是通過一個Web服務使用一個API的登錄信息,那麼你將需要存儲未經哈希的密碼。 –

+0

你可以改變配置的存儲方式嗎?如果你想改變配置,使用'pickle'來保存和加載你的配置會更有意義。 –

回答

0

如果你是這樣做,你可能會需要破解了一起絕對死心塌地。你可以做類似以下的事情

import json 
import config 

with open("config.py", "w") as config: 
    config.logindata[0]['password'] = 'xxxx' 
    code = "logindata = " + json.dumps(config.logindata) 
    config.write(code) 

我只想說這樣做真的很黑,並不是一個很好的方法來做到這一點。但我不知道任何其他方式來做到這一點,而不使用適當的保存和加載協議。

0

除非你不考慮你的安全。比你可以走這條路。

import config 
config.logindata[0]['password'] = 'xxxx' 
#print(config.logindata) 
config_string = "".join(('logindata = [',str(config.logindata[0]),"]")) 
file = open("config.py", 'w') 
file.write(config_string) 
file.close()