python - 如何使用python从txt文件中删除一行?
问题描述
我有一个文件,其中包含学生的姓名、地址、成绩等数据。我创建了一个函数,可以根据学生的名字和姓氏从文本文件中删除整行。此功能正常工作。然而,之后,我决定更新它,如果用户输入的名称不在文件中,它会打印:找不到学生。但是,现在即使用户键入文件中的名称,它仍然会打印:未找到学生...
这是我的代码:
def delete_a_record(filename):
x=input("Remove First Name:")
y=input("Remove Last Name:")
with open(filename, "r") as f:
lines = f.readlines()
with open(filename, "w") as f:
for i in lines:
t=i.split()
if t[0]!=x and t[1]!=y:
f.write(i)
elif x or y not in t:
print("Student Not Found")
f.close()
delete_a_record("mytextfile.txt")
有人可以向我解释为什么吗?
解决方案
如果您想使用您的功能并在其中搜索(您不想更改您的功能),您可以将您的数据放在一个列表中并在该列表中搜索,如下面的代码:
list=['f_Name = Lorem','l_Name = Ipsum']
if "f_Name = "+x in list or "l_Name = "+y in list:
print("True")
else:
print("Student Not Found")
推荐阅读
- serilog - Serilog Graylog 无法登录 Graylog
- python - 无法在python中导入numpy
- c++ - Aws GetObject 是将所有数据下载到内存还是文件缓存?
- ios - iOS/Swift/Xcode:推荐放置应用程序范围的键、属性和配置的地方?
- javascript - 如何使用 d3.js 根据某些标准制作散点图
- html - 如何使绝对父级中的 div 保持底部?
- c# - c#代码在Linux上为GhostscriptRasterizer出错
- python - 尝试在命令提示符下安装键盘“不被识别为内部或外部命令、可运行程序或批处理文件”错误
- reactjs - Fluent UI React 命令栏使用状态不可能
- android - Android通知文本跨度颜色在暗模式下不起作用