def delete(): print('=' * 10) a = input("请输入该员工的姓名:") x = 0 with open("people.txt", "r") as f: lines = f.readlines() with open("people.txt", "w") as f: for line in lines: new = line.strip().split(",") # 去掉首尾空格,并按逗号分隔 if new[0] != a: x = 1 f.write(line) # 循环重新书写不需要删除的数据 print("员工信息已删除。") if x == 0: print("该员工不存在!") print("即将返回主界面!") return
时间: 2024-02-14 12:06:39 浏览: 22
这是一个 Python 函数,功能是删除文件 "people.txt" 中指定员工的信息。
该函数首先输出提示信息,让用户输入要删除员工的姓名。然后,函数以读取模式打开文件 "people.txt",读取文件中的所有行。接着,函数以写入模式打开同一个文件以覆盖原文件,遍历文件中的每一行,将其按照逗号分隔成一个列表 new。如果 new[0] 不等于用户输入的姓名 a,则将该行数据重新写入文件中。如果新写入的数据中有一行与原始数据不同,则将 x 设为 1。最后,函数输出员工信息已删除的提示信息,并关闭文件。如果 x 仍为 0,则说明该员工不存在,输出提示信息。最后,函数输出即将返回主界面的信息。
需要注意的是,该函数存在一个逻辑错误,即如果文件中存在多个员工信息,只会删除第一个匹配到的员工信息。应该将删除操作放在 for 循环内部,并在删除对应信息后立即退出循环。修改后的代码如下:
```
def delete():
print('=' * 10)
a = input("请输入该员工的姓名:")
x = 0
with open("people.txt", "r") as f:
lines = f.readlines()
with open("people.txt", "w") as f:
for line in lines:
new = line.strip().split(",")
if new[0] == a:
x = 1
print("员工信息已删除。")
continue
f.write(line)
f.close()
if x == 0:
print("该员工不存在!")
print("即将返回主界面!")
return
```
修改后的代码能够正确删除所有匹配到的员工信息,并能正确输出提示信息。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)