将数据(基于类)从.py移动到另一个.py文件中的dictonary

时间:2015-05-26 05:54:06

标签: python input

我正在尝试将用户输入数据存储在另一个python文件中的dictonary中。这是我的第一个真正的python项目,所以如果你对如何简化我正在做的事情有任何建议,请建议。谢谢!

我的作业课程:

class Assignment(object):
def __init__(self, assignment_name, due_date):
    self.assignment_name = assignment_name
    self.due_date = due_date

def getassignment_name(self):
    return self.assignment_name

def getdue_date(self):
    return self.due_date

def __str__( xself):
    return "%s is due on %s" % (self.assignment_name, self.due_date)

我的用户输入:

def questions():

    raw_input("Name Of Assignment?")

    raw_input("Due Date")




assignment_name = raw_input("Name Of Assignment?")

due_date = raw_input("Due Date")


assignment_data = Assignment(assignment_name,due_date)

尝试将数据移动到另一个.py文件中的dictonary。

f = open(assignments.py)
f.write(str(assignment_data))
f.close()

print assignment_data

print "ok"

f = open(assignments.py)

assignment_data = eval(f.read())

f.close()

2 个答案:

答案 0 :(得分:0)

# create dictionary
assignment_data = {"name": "jane", "date": "late"}

# save dictionary
with open("assignments.py", "wt") as f:
    f.write(repr(assignment_data))

# load dictionary
with open("assignments.py", "rt") as f:
    assignment_data = eval(f.read())
    print assignment_data

答案 1 :(得分:0)

pickle也适用于在程序之间存储数据,甚至在同一程序的不同运行之间:: 来自模块1:

import pickle
f = open(file_Name,'wb')
pickle.dump(assignment_data, f)
f.close()

来自模块2:

import pickle f = open(file_Name,'rb') pickle.load(assignment_data, f) f.close()

(更优雅地用'用......')

pickle.load知道它正在获取字典,它需要双向使用二进制模式。