2017-07-06 90 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()