《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)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值