Python 读写文件详解 with open() as

文章目录

  • 1 概述
  • 2 区别
    • 2.1 传统方法
    • 2.2 with open() as 方法
  • 3 扩展
    • 3.1 读写模式
    • 3.2 常用方法

1 概述

1. 传统文件读写,容易犯的问题
   (1) 忘记 '关闭文件'
   (2) 文件读写 '异常' 时,未做处理

2. with as 读写文件
   (1) 自动处理上述问题
   (2) 语句简洁

2 区别

2.1 传统方法

读文件:(模式:r,方法:read())

file = open('1.txt', 'r', encoding='UTF-8')
try:
    file_content = file.read()
    print(file_content)
finally:
    file.close()

写文件:(模式:w,方法:write())

file = open('1.txt', 'w', encoding='UTF-8')
try:
    file_bytes = file.write('1213\n哈哈哈')
    print(file_bytes)
finally:
    file.close()

2.2 with open() as 方法

效果同上

with open('1.txt', 'r', encoding='UTF-8') as file:
    print(file.read())

3 扩展

3.1 读写模式

模式大类 读写模式 描述信息 特别说明
读 read r 只读(默认) 文件必须存在
r+ 读写
rb 只读(二进制)
写 write w 只写 若文件已存在,则覆盖
若文件不存在,则创建
w+ 读写
wb 只写(二进制)
追加 append a 追加写 若文件已存在,则覆盖
若文件不存在,则创建
a+ 追加读写

3.2 常用方法

方法 描述
readline() 读取一行
readline(2) 读取前 2 个字符
read() 读完文件后,指针在最尾处
write() 完文件后,指针在最尾处
tell() 当前指针位置
seek(0) 设置指针位置,0:文件头,1:当前,2:文件尾
flush() 刷新
truncate() 清空
truncate(10) 从头开始,第 10 个字符后清空
close() 关闭文件
encoding 字符编码
name 文件名

你可能感兴趣的:(Python,python,with,...,as)