Python笔记⑤10.31

mac2024-04-21  5

一、异常处理

1、异常的概念

如果python解释器遇到一个错误,会停止程序的执行,并且提示一些错误信息

2、捕获异常 在程序开发中,如果对某些代码的执行不能确定是否正确,可以增加try来捕获异常 try,尝试,下方编写要尝试的代码,不确定是否能够正常执行的代码 except,如果不是,下方编写尝试失败的代码

try: num = int(input('enter a number:')) except Exception as result: print('未知错误%s'%result)

try: num = int(input('number')) result = 8/num print(result) # except ValueError:#值错误 # print('请输入正确的整数') # except ZeroDivisionError:#0错误 # print('除0错误') except Exception as result:#接受所有类型错误 print('未知错误') else:#没异常时执行的代码 print('正常执行') finally:#不管有没有异常都执行的代码 print('执行完成,但是不保证正确')

3、异常的传递

def demo1(): return int(input('请输入一个整数')) def demo2(): return demo1() try: print(demo2()) except ValueError: print('请输入正确的整数') except Exception as result: print('未知错误%s'%result)

4、抛出异常 程序停止执行并提示错误信息 这个动作,我们称之为抛出(raise)异常。 除了代码出错抛出异常,还可以主动抛出异常

def input_password(): pwd = input('请输入密码') if len(pwd)>=8: return pwd elif pwd.isalnum(): ex = Exception('请输入纯数字') else: ex = Exception('密码长度不够') raise ex try: user_pwd=input_password() print(user_pwd) except Exception as result: print('发现错误:%s'%result)

二、文件操作

1、文件的概念 文件就是存储在某种 长期储存设备(硬盘,U盘,光盘…)上的一段数据 2、文件的基本操作 (1)打开文件

f = open('a.txt','w')#a不存在会自动新建,在同个文件夹下 f.write('hello mianyi')

(2)读、写文件

'''文件复制''' f = open('a.txt', 'r')#打开a文件,只读 e = open('复件.txt', 'w')#打开b文件,只写 while True: text = f.readline()#小文件全部读用read,大文件一行行读用readline if not text: break else: e.write(text) f.close() e.close()

(3)关闭文件

f.close()

3、文件/文件夹的常用操作 (1)rename 重命名 (2)remove 删除文件

import os # os.rename('a.txt','hahaha.txt')#重命名 os.remove('hahaha.txt' )#删除

4、文本文件的编码方式

f = open('a.txt','r+') f.write('i am a girl') f.close() #下方这三行注释后,下方是空,不注释则显示写入的内容 f = open('a.txt','r') print(f.read()) f.close()

重点内容复习题

➢ 以下试题中的代码都不想看到报错信息 ➢ 编写一个计算减法的方法,当第一个数小于第二个数时,抛出“被减数不能小于减数”的异 常,如果正常,输出差,不管有没有报错,都输出“该方法运行结束”

try: a = int(input('a=')) b = int(input('b=')) if a<b: ex = Exception('被减数不能小于减数') raise ex except Exception as ex: print(ex) else: print(a-b) finally: print('该方法运行结束')

➢ 九九乘法表输出,按照乘法表的格式打印输出九九乘法表,并将打印的结果存到当前目录下 table.txt

# 先写出九九乘法表代码 # for i in range(1,10): # for k in range(1,i+1): # print('%s*%s=%s'%(k,i,k*i),end=' ') # print('\n') # def func(filename): f = open('table.txt','w') a = '' for i in range(1,10): for k in range(1, i + 1): # print('%s*%s=%s' % (k, i, k * i), end=' ') a+='%s*%s=%s '%(k,i,k*i) a+='\n' f.write(a) f.close()

最新回复(0)