我有一个名称和数字的数据文件,例如:
james 343
john 343
peter 758
mary 343
然后我使用此代码将其转换为字典
userAccounts = {}
with open("E:\file.txt") as f:
for line in f:
(key, val) = line.split()
userAccounts[key] = val
print userAccounts
newUserName = raw_input ("welcome, please enter your name, a number will be assigned to you")
userAccounts [newUserName] = 9999
print userAccounts
在将新人添加到字典后,我想在旧文件上写入新数据,但是它会将其作为字典写入,例如:
{'james': '343', 'john': '343', 'peter': 758, 'fred': '9999'}
然后当我再次运行程序时,它无法创建字典,因为文件格式不正确。
我想将数据拆分为原始格式以保存到文件中,这样我就可以继续运行程序并添加名称。
很抱歉,如果这很容易,我是新手编码,在线搜索已经杀了我。
答案 0 :(得分:0)
只需打开文件并将每个键值对写入其中:
with open(r"E:\file.txt", 'w') as f:
for key, value in userAccounts.items():
f.write('{} {}\n'.format(key, value))
这使用str.format()
method将您的键和值对放在一行,其间有空格,最后一行换行符,就像在原始文件中一样。
答案 1 :(得分:0)
with open("E:\file.txt", 'w') as f:
for user in userAccounts:
f.write('%s %s\n' % (user, userAccounts[user]))