《Python編程從入門到實踐》第十章 文件與異常 學習筆記3、異常

1、try後跟運行的代碼,except後跟可能出的錯誤及處理方法,else後跟未出錯時的處理方法。

print("————————————————計算器————————————————————")
print("輸入q退出")

while True:
	first_number=input("\n被除數")
	if first_number=='q':
		break
	second_number=input("除數")
	if second_number=='q':
		break
	try:
		answer=int(first_number)/int(second_number)
	except ZeroDivisionError:
		print("除數不能爲零")
	except ValueError:
		print("被除數或除數不能爲空")
	else:
		print(str(first_number)+"/"+str(second_number)+"="+str(answer))
print("———————————————退出計算機———————————————————")

在這裏插入圖片描述
2、方法split()以空格爲分隔符將字符分拆成多個部分,並將這些部分都儲存到一個列表中。結果是一個包含字符串中所有單詞的列表,雖然有些單詞可能包含標點。

filename="雙城記.txt"

try:
	with open(filename,encoding='gb18030',errors='ignore') as f_obj:
		contents=f_obj.read()
except FileNotFoundError:
	print('抱歉,文件"'+filename+'"不存在')
else:
	words=contents.split()
	num_words=len(words)
	print(filename.replace('.txt','')+'中大概有'+str(num_words)+'個單詞')

在這裏插入圖片描述
在這裏插入圖片描述
3、失敗時一聲不吭用pass

def count_words(filename):
	try:
		with open(filename,encoding='gb18030',errors='ignore') as f_obj:
			contents=f_obj.read()
	except FileNotFoundError:
		pass
	else:
		words=contents.split()
		num_words=len(words)
		print(filename.replace('.txt','')+
			'中大概有'+str(num_words)+'個單詞')
filenames=['雙城記.txt','塞巴斯托波爾.txt','愛麗絲在仙境.txt','傲慢與偏見.txt']
for filename in filenames:
	count_words(filename)

在這裏插入圖片描述

發佈了11 篇原創文章 · 獲贊 7 · 訪問量 3986
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章