创建员工Employee 类,并设置属性;员工数据对象写入或读取至数据文件employees.txt
时间: 2024-03-20 12:41:41 浏览: 50
定义一个员工类employee.txt
好的,以下是创建员工 `Employee` 类并设置属性,并将员工数据对象写入或读取至数据文件 `employees.txt` 的示例代码:
```python
import json
class Employee:
def __init__(self, name, id_num, position, salary):
self.name = name
self.id_num = id_num
self.position = position
self.salary = salary
def to_dict(self):
return {
"name": self.name,
"id_num": self.id_num,
"position": self.position,
"salary": self.salary
}
def to_json(self):
return json.dumps(self.to_dict())
@staticmethod
def from_dict(emp_dict):
return Employee(emp_dict["name"], emp_dict["id_num"], emp_dict["position"], emp_dict["salary"])
@staticmethod
def from_json(emp_json):
emp_dict = json.loads(emp_json)
return Employee.from_dict(emp_dict)
def __str__(self):
return f"Name: {self.name}, ID number: {self.id_num}, Position: {self.position}, Salary: {self.salary}"
# 写入员工数据到文件
employee1 = Employee("John Smith", "123456", "Teller", 30000)
employee2 = Employee("Jane Doe", "789012", "Manager", 50000)
with open("employees.txt", "w") as f:
f.write(employee1.to_json() + "\n")
f.write(employee2.to_json() + "\n")
# 从文件中读取员工数据
employees = []
with open("employees.txt", "r") as f:
for line in f:
emp_json = line.strip()
emp = Employee.from_json(emp_json)
employees.append(emp)
# 显示员工数据
for emp in employees:
print(emp)
```
在上面的代码中,我们定义了一个名为 `Employee` 的类,它有四个属性:`name`、`id_num`、`position` 和 `salary`。我们还定义了将员工数据对象转换为字典和 JSON 格式的方法,以及将字典和 JSON 格式转换为员工对象的静态方法。最后,我们定义了 `__str__` 方法,用于显示员工的信息。
我们首先创建了两个员工对象 `employee1` 和 `employee2`,然后将它们的数据以 JSON 格式写入到文件 `employees.txt` 中。接着,我们从文件中读取员工数据,将其转换为员工对象,并将其存储在列表 `employees` 中。最后,我们遍历员工列表,并使用 `__str__` 方法显示员工的信息。
阅读全文