【发布时间】:2017-05-26 08:11:05
【问题描述】:
当然,这并不像我想象的那么复杂。我有一个存储用户凭据的文件,我们称之为logins.py。我的主脚本app.py 将新帐户详细信息写入logins.py 的列表userkeys 和passkeys。要将新信息附加到凭证文件app.py 必须在写入新信息之前导入logins.py。问题是当我这样做时,旧信息被写入文件 - 我前段时间删除的列表中的项目。幽灵般的。这是我的一些代码:
import logins
def createAccount(self, userkey, passkey):
if userkey in logins.userkeys:
return False
else:
logins.userkeys.append(userkey)
logins.passkeys.append(passkey)
with open('logins.py', 'w') as f:
f.write(str(logins.userkeys + logins.passkeys))
如果我输入aaa 的用户密钥和bbb 的密码,我会得到
userkeys = [12345, 'aaa']
passkeys = ['67890', 'bbb']
12345 和 67890 是旧的用户密钥和密码,我在很多个月前删除了这些密钥并不断返回。 importlib.reload 没有区别。我错过了什么?
【问题讨论】:
-
随便想想,有没有logins.pyc文件和b:你为什么要导入它?
-
@RolfofSaxony 找不到 .pyc 文件。我可能做错了什么,但我正在导入登录名,以便以一种简单的方式将新数据附加到现有信息中。
-
除非 logins.py 中有代码,否则我不明白您为什么不将其作为文件打开并阅读内容。事实上,你已经打开它了,奇怪的是用 'w' 覆盖了整个文件。
标签: python python-import python-importlib