本練習假定您已創建用於編程練習4的Employee類。 創建一個將Employee對象存儲在字典中的程序。使用員工ID號 作爲關鍵。該程序應顯示一個菜單,讓用戶執行以下操作: •在字典中查找員工 •將新員工添加到字典 •更改字典中現有員工的姓名,部門和職位 •從字典中刪除一個員工 •退出程序 程序結束時,它應該醃製字典並將其保存到文件中。每次 程序啓動時,它應該嘗試從文件加載pickle字典。如果該文件不存在 ,則該程序應以空字典開頭。Python類:員工管理系統
好了,所以這裏是我的解決方案: -
class Employee:
'ID, number, department, job title'
def __init__(self,ID,number,department,job_title):
self.ID = ID
self.number = number
self.department = department
self.job_title = job_title
# Mutators
def set_ID(self,ID):
self.ID = ID
def set_number(self,number):
self.number = number
def set_department(self,department):
self.department = department
def job_title(self,job_title):
self.job_title = job_title
#Accessor Methods
def get_ID(self):
return self.ID
def get_number(self):
return self.number
def get_department(self):
return self.department
def get_job_title(self):
return self.job_title
def get_data(self):
print self.ID, self.number,self.department,self.job_title
我救了上面Employee.py一個文件夾中。然後,我開始一個新的文件並保存,作爲員工管理System.py 下面是該文件
import Employee
import pickle
filename = 'contacts.dat'
input_file = open(filename,'rb')
unpickle_input_file = pickle.load(input_file)
def test_system():
user = input('Press 1 to look up employee,\nPress 2 to add employee'
'\n3Press 3 to change an existing employee name, department and job title'
'\n4 Delete an employee from the dictionary'
'\n5 Quit the program'
'\nMake your choice ')
if user == 2:
ID = raw_input('Enter the name ')
number = input('Enter the number')
deparment = raw_input('Enter the department ')
job_title = raw_input('Enter the job title ')
entry = module from Employee??.class name(id,number,department,job_title)??
empty_dictionary = {}
empty_dictionary[number] = entry
input_file.close()
的代碼我的第一個問題是,我試圖使用Employee.py創建attribue。特別是init並添加條目。我知道上面的代碼是不是在最合乎邏輯的論壇,但我想先看看我是否可以添加數據然後醃文件第一。如果我可以在如何完成這兩件事情的情況下,其他一切都很容易理解。
它種讓我想起了
import math
x = math.pi(3.14)
x = module.function(3.14)
但我不能似乎只是做了兩個例子之間的連接。 謝謝
我求你ght就是這樣,但Employee.Employee對我來說似乎是錯誤的。 – JDDoe
你也可以請給我一些關於如何更新pickle文件的建議。 – JDDoe
我仍然沒有得到它。這是我到目前爲止 http://pastebin.com/QLfKywtN – JDDoe