python日志信息在单独的文件中

时间:2013-03-03 07:01:51

标签: python

我正在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'}
}

2 个答案:

答案 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)))