目录
1.文件操作三步骤
2.文件和文件相关方法
3.异常
文件与异常
一.文件
-
文件操作三步骤
-
打开文件
f = open('1.txt', 'w', encoding='utf8')
①f代表实例化的文件对象
②文件路径:相对路径(常用);绝对路径
③文件名可以是一个变量,前提是这个变量存储的是字符串形式的文件名
相对路径 语法 访问下一级 文件夹名/…/文件名 访问同级 文件名 访问上一级 …/…/…文件名 ④文件操作的几种模式:
模式 解释 w 覆盖写 文件不存在就创建 r 读取 a 追加 文件不存在就创建 b 增加二进制流的形式 支持音视频,图像等 + 增加读写功能 ⑤编码格式常用:
utf-8,gbk
-
读写文件
方法 解释 f.read(size) 按照size读取文件,不写size默认全部读取,二进制读取建议写1024,一个字符就是一个size 适合大文件,文本,二进制读取 f.readline() 一次读取一行的内容 适合大文件读取 f.readlines() 读取全部内容,存储为一个列表,每一行就是一个元素(包括换行符) 适合小文件,文本读取 f.write() 写入的数据必须是字符串类型 ①判断文件读取的时候内容是否为空的代码
# 方式1 content = f.readline() if not content: break
# 方式2 content = f.read(1024) if len(content) == 0: break
-
关闭文件
f.close()
-
-
文件夹操作的相关方法
文件/文件夹操作 解释 os.rename(‘旧名’, ‘新名’) 文件重命名 os.remove(‘文件名’) 文件删除 os.mkdir(‘文件夹名’) 新建文件夹 os.getcwd() 获取当前目录名 os.chdir(‘切换后的目录’) 切换到指定目录 os.listdir(‘目录名’) 获取指定目录下的所有文件信息 os.rmdir(‘目录名’) 删除指定目录(必须是空目录) shutil.rmtree(‘目录名’) 删除指定目录(递归删除,不管是否为空);危险操作
二.异常
-
异常不等于错误
-
异常的捕获
try: """ 可能发生错误的代码 """ except: """ 发生错误的时候执行的代码 """ else: """ 没有发生错误的时候执行的代码 """ finally: """ 不管是否发生错误都要执行的代码 """
-
异常类型:
-
except后面可以定义异常的类型,这样如果捕获了异常,就能够根据异常的类型来debug
-
但是如果产生的异常类型和定义的异常类型不同,则无法捕获异常,此时程序仍然会报错
-
一般try下方只放一行尝试执行的代码
-
未知异常类型使用:
except Exception as e:
-
-
常见异常类型
常见异常类型 控制台打印结果 异常解释 NameError name ‘xxx’ is not defined 变量未定义 ZeroDivisionError division by zero 除数为0 Exception [Errno 2] No such file or directory: ‘xxx.txt’ 文件不存在 -
举例演示
try: f = open('python.txt', 'r') except: f = open('python.txt', 'w') else: content = f.readlines() print(content) finally: f.close()