sdwylry 2020-07-04
一、异常 程序在运行的过程中,不可避免出现一些错误,这些错误成为异常 异常以后的代码都不会被执行 try 语句 代码块(可能出现错误的语句) except 异常类型 as 异常名: 代码块(出错以后执行的语句) except 异常类型 as 异常名: 代码块(出错以后执行的语句) except 异常类型 as 异常名: 代码块(出错以后执行的语句) .... else: 代码块(没有出现错误时要执行的语句) finally: print(‘无论是否出现异常,都会执行。。‘)异常的传播 -- 当这个程序在运行的过程中出现异常,所以异常信息会被保存在一个专门的异常对象中, 而异常传播时,实际上就是异常对象抛给了调用处二、文件 文件(file) I/O(Input/Output) 通过python程序来对计算机中的各种文件进行增删改查的操作 操作文件的步骤 1.打开文件 2. 对文件进行读写 3. 关闭文件 open(file_name):返回值是一个对象, 返回的是当前打开的文件的对象三、关闭文件 file_obj.close() # with ...as 语句 : 不用手动写 file.close() 例如: with open(file_name) as file_obj: # 在with语句中操作open文件 print(file_obj.read()) 当我们获取了文件对象之后,所有的操作都是通过文件对象来操作的 读取文件内容, 通过read() 来读取,将读取到的内容保存到一个字符串中 try: with open(file_name) as file_obj: # 在with语句中操作open文件 print(file_obj.read()) except FileNotFoundError: # print(‘%s没有找到‘ % file_name) print(f‘{file_name}文件不存在‘)四、读取文件 调用open() 来打开了一个文件,打开的文件可以分为2种类型: 第一种是纯文本文件(使用utf-8编写的文本文件) 第二种是二进制文件(图片,音频,视频) help(file_obj.read) read() 可以接收一个size作为参数来传递,默认值是-1会读取所有 该参数时用来指定读取字符的数量 可以为size 指定一个值,这样read()会读取指定数量的字符 每一次读取的时候都是从上一次读取的位置来读取 如果剩余的字符数量小于size,则一下读取剩余的内容 * readline() 一行一行读取内容 readlines() 用于一行一行的读取,将读取的数据放在一个列表里五、文件的写入 write() 向文件中写入文件,write()需要传递一个字符串, 操作文件的时候,要指定操作的类型 w 表示可以写文件,使用w写入文件的时候,如果文件不存在会创建文件,如果存在,会覆盖原文件 file_obj.write(6666) # TypeError: write() argument must be str, not int a 表示追加,在原有字符串后面追加 r = file_obj.write(str(6666)) 返回类型是 写入字符串的长度六、二进制文件-- rb 读二进制, wb 写二进制 file_name = r‘C:\Users\Administrator\Desktop\周深 - 与卿.mp3‘ with open(file_name,‘rb‘) as file_obj: # print(file_obj.read(100)) new_name = ‘a.mp3‘ with open(new_name,‘wb‘) as new_obj: # 定义读取的大小 nu = 1024 * 100 while True: content = file_obj.read(nu) if not content: break new_obj.write(content)