[英]How to use try, except to write a file
我正在嘗試使用 try 和 except 編寫 function。 我創建了一個名為“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
可以捕獲該異常。 本着家庭作業的精神,我將把確切的位置留給你。 :)
您的代碼沒有拋出異常,您可以刪除 try..exept,但由於您需要 try 和 except,我建議將您的 if 語句更改為assert (find_info == student.name)
,這將引發AssertionError
如果子句不計算為True
。 另一種選擇是在 if 語句之后添加 else 語句並raise
異常。 希望這會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.