我正在python中创建一个程序,我需要记录我通常会在数据库中登录的信息,但我现在无法实现。如何将数据写入python文件,其中包含dict矩阵。
例如,如果main.py有
name = raw_input("Please enter your name")
age = raw_input("Please enter your age")
hair_colour = raw_input("Pleas enter your hair colour")
我想将所有数据写入我的log.py文件,以便它具有
logs = {
...
...
'the name': {'age':'the age', 'hair colour':'the hair colour'}
}
答案 0 :(得分:0)
这是一种非常黑客的方式:
x = open('test.py','wb')
x.write('logs = { ')
x.write('"the name": {"test1": 1, "test2": 2, "test3": 3}')
x.write('}')
x.close()
In [27]: run test.py
In [28]: logs
Out[28]: {'the name': {'test1': 1, 'test2': 2, 'test3': 3}}
为了更好地使用,我只需将您的用户输入与字符串.format合并为您希望作为数据的部分。从所有输入数据中创建一个列表,然后使用for循环为列表中的每个项添加一行数据。
答案 1 :(得分:0)
也许这样的事情可以解决问题:
from pprint import pformat
log = dict()
name = raw_input("Please enter your name : ")
age = raw_input("Please enter your age : ")
hair = raw_input("Pleas enter your hair colour : ")
entry = dict()
entry['age'] = age
entry['hair'] = hair
log[name] = entry
with open('log.py', 'w') as logfile:
logfile.write('log = {}'.format(pformat(log)))