python - 怎么用try,除了写文件
问题描述
我正在尝试使用 try 和 except 编写一个函数。我创建了一个名为“file”的文件,其中包含所有学生的个人信息。我想在输入学生姓名时打印个人信息并将其写入一个名为“new_file”的新文件中。如果输入的学生姓名不包含在“文件”中,我想打印“未找到姓名”。由于这是一项任务,因此我需要使用 try 块。有没有人可以帮忙?以下是我的代码。
find_info = input("Please input the student name that you want to search:")
def write_file():
try:
for student in student_list:
if (find_info == student.name):
print("Find Personal Information of:", student.name)
with open("/Users/ada/Desktop/new_file.txt", "w") as new_file:
new_file.write("Name: " + student.name + ", Student_id: " + student.student_id \
+ ", College: " + student.college + ", Citizenship:" +
student.citizenship \
+ ", Phone_number:" + student.phone_number + ", Address:"
+ student.address)
print("\n")
print("Student Personal Information Created")
print("\n")
break
except:
print("\n")
print("Student Name Not Found")
解决方案
您已经编写了代码来检查学生姓名是否是您要查找的内容,然后再对它进行任何操作,这是一种很好的做法!但是,如果您希望它抛出异常,则必须让它中断或自己中断。在这种情况下,您if (find_info == student.name):
会检查它是否存在,但您从不告诉它要做什么else:
。我建议添加一个 else 语句,该语句将引发异常 [ raise NameError("Breaking my stuff!")
],然后您的except
. 本着家庭作业的精神,我将把确切的位置留给你。:)
推荐阅读
- python - 如何使用 python3 运行 ansible 库存脚本
- javascript - 如何在 vue js 中将组件作为道具传递以及如何正确使用它?
- javascript - 在对象数组中过滤数组
- mysql - SELECT 查询的问题(NodeJs 和 mySQL)
- javascript - 在其他页面上没有问题的 EJS 部分在一个页面上抛出 500 错误
- javascript - Strapi 发送邮件不工作。你能帮我吗?
- azure - 此区域不允许此订阅进行缩放操作
- git - 我可以发出“git remote update”来下载远程 git 的一部分吗
- typescript - 在浏览器应用程序中使用 apache-arrow - Typescript 编译器错误
- python - 使用 Python 在 GEE 中应用 reducer 后返回空 bandNames