异常-文件的操作

mac2024-04-12  32

#异常处理 对某些代码的执行不能确定是否正确,可以增加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)
最新回复(0)