3. 用户控制台输入员工编号 empno,员工姓名 ename 和基本工资 salary 数据。 将输入的数据对象写入到数据文件中。查看数据文件中的所有数据。 要求:创建员工Employee 类,并设置属性;员工数据对象写入或读取至数据文件employees.txt
时间: 2024-03-20 08:41:44 浏览: 121
员工的一些基本信息的输入和输出
好的,我明白了。对于你的问题,我可以给你提供以下的 Python 代码:
```python
import pickle
class Employee:
def __init__(self, empno, ename, salary):
self.empno = empno
self.ename = ename
self.salary = salary
def write_employee_to_file(emp):
with open('employees.txt', 'ab') as f:
pickle.dump(emp, f)
def read_employees_from_file():
with open('employees.txt', 'rb') as f:
while True:
try:
emp = pickle.load(f)
print(emp.empno, emp.ename, emp.salary)
except EOFError:
break
# 用户输入员工信息
empno = input('请输入员工编号:')
ename = input('请输入员工姓名:')
salary = input('请输入员工基本工资:')
# 创建员工对象
emp = Employee(empno, ename, salary)
# 将员工对象写入文件
write_employee_to_file(emp)
# 查看所有员工信息
read_employees_from_file()
```
这段代码中,我们首先定义了一个 `Employee` 类,它有三个属性:`empno`、`ename`、`salary`,分别表示员工编号、姓名和基本工资。然后我们定义了两个函数,`write_employee_to_file` 和 `read_employees_from_file`,分别用于将员工对象写入文件和从文件中读取所有员工信息并打印出来。在主程序中,我们先通过 `input` 函数获取用户输入的员工信息,然后创建一个员工对象,并将其写入文件。最后调用 `read_employees_from_file` 函数,查看所有员工信息。
需要注意的是,我们使用了 Python 的 pickle 模块来实现对象的序列化和反序列化,这个模块可以将 Python 对象转换为二进制数据,方便存储和传输。
阅读全文