当前位置:   article > 正文

Python 读写文件 with open() as_python with open函数 write wb

python with open函数 write wb

1 概述

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

2. with as 读写
   (1) 自动处理上述问题
   (2) 语句简洁
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

1.1 传统方法

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

file = open('1.txt', 'r', encoding='UTF-8')
try:
    file_content = file.read()
    print(file_content)
finally:
    file.close()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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

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

1.2 with open() as 方法

# 格式
with open(文件名, 模式) as 文件对象:
	文件对象.方法()
  • 1
  • 2
  • 3

示例,读取 1.txt 文件的内容(效果同上传统方法)

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

2 常用

2.1 模式

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

2.2 方法

操作 方法 描述 注意
read() 每次读取整个文件 若文件过大,可限制读取的字节数,read(n)
readline() 每次读取一行
readlines() 每次读取字符串列表 由单行汇总形成的多行(整个文件)
readable() 判断文件是否可读 返回 bool 类型
write() 写入字符串 数据量大时,效率较低(先拼接成一个完整的字符串再写入文件)
writelines() 写入字符串列表 数据量大时,效率较高(一次性写入多个字符串)
writable() 判断文件是否可写 返回 bool 类型
指针 tell() 获取当前指针位置 文件读写前,指针在开头;读写完成后,指针在结尾
seek() 设置指针位置 0:文件头,1:当前,2:文件尾

2.3 属性

属性描述
name文件名
encoding字符编码,如:UTF-8,GBK
mode模式
with open('1.txt', 'w', encoding='UTF-8') as f:
    print(f.name)
    print(f.encoding)
    print(f.mode)
  • 1
  • 2
  • 3
  • 4

3 实例

3.1 同时读写多个文件

with open('1.txt', 'w', encoding='UTF-8') as file1, \
        open('2.txt', 'w', encoding='UTF-8') as file2:
    file1.write('我是第一个文件')
    file2.write('我是第二个文件')
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/70348
推荐阅读
相关标签
  

闽ICP备14008679号