#异常处理
对某些代码的执行不能确定是否正确,可以增加try来捕获异常。
try 尝试,下方编写要尝试的代码,不确定是否能够正常执行的代码。
except 如果不是,下方编写尝试失败的代码
try:
num=int(input('输入整数数字'))
except Exception as result:
print('未知错误%s'%result)
#针对不同类型的异常,需要捕获错误类型
1.提示用户输入一个整数
2.使用8除以用户输入的整数并且输出
try:
num=int(input('输入整数数字:'))
result=8/num
print(result)
except ValueError:
print('输入正确的整数')
except ZeroDivisionError:
print('除0错误')
如果希望程序无论出现任何错误,都不会因为因为抛出异常而被终止,可以增加except
# except Exception as result:
# print('未知错误%s'%result)
else:#只有输入正确(没有异常)才打印
print('..')
finally:
print('滴滴')#不论都打印
在主函数中增加异常捕获,只要出现异常,都会传递到主函数的异常捕获中
def demo1():
return int(input('输入整数数字'))
def demo2():
return demo1()
try:
print(demo2())
except ValueError:
print('输入正确整数')
except Exception as result:
print('未知错误%s'%result)
根据特有的业务,主动抛出异常
长度<8抛出异常,长度>=8返回输入的密码
def input_password():
pwd=input('输入密码')
if len(pwd)>=8:
return pwd
elif not pwd is
ex=Exception('密码长度不够')
#2> 抛出异常对象
raise ex
try:
user_pwd=input_password()
print(user_pwd)
except Exception as result:
print('发现错误:%s'%result)
#文件的基本操作
除open外,其他三个都需要通过文件对象来调用
open 的第一个函数时要打开的文件名,文件存在则返回操作对象,不存在会抛出异常
f=open('a.txt','a')
f.write('\nhello \n world')
content=f.read()
print(content)
f.write('i am cool')
f.close()
f=open('a.txt','a')
print(f.read())
f.close()
a追加是在原有内容上增加
file=open('a.txt')
while True:
text=file.readline()
if not text:
break
print(text,end='')
file.close()
readline可以一次读取一行内容
打开一个已有文件,读取完整内容,并写入到另一个文件
f=open('a.txt','r')
e=open('b.txt','w')
while True:
text=f.readline()
if not text:
break
else:
e.write(text)
f.close()
e.close()
文件/目录的常用管理操作
以上操作等等需要导入os模块
import os
os.rename('a.txt','d.txt')#将a.txt改为d.txt
os.remove('w.txt')#删除w.txt
f=open('a.txt','r+')
f.read()
print(f.read())
f.seek(5,0)#将光标移到第五个元素之前
print(f.read())
f.close()
import os
# os.mkdir('kjasfhb')
print(os.getcwd())#当前文件的位置
try:
a=input('被减数')
b=input('减数')
if a<b:
raise Exception('被减数不能小于减数')
except Exception as result:
print('result')
else:
print(a-b)
finally:
print('该方法运行结束')
99乘法
for i in range(1,10):
for j in range(1,i+1):
print(' {}*{} ={} '.format(j,i,i*j),end='')
print('\n')
创立文件
f=open('table.txt','w')
a=''
for i in range(1,10):
for j in range(1, i + 1):
a+=' {}*{} ={} '.format(j,i,i*j)
a +='\n'
f.write(a)