lonelyisland

主要按照分类标准来看,方便记忆:

  • 是否可写
    • w 仅可写,写覆盖
    • a 仅可写,写追加
    • w+ 可以读写,写覆盖
    • r+ 可以读写,写覆盖
    • a+ 可以读写,写追加
  • 是否可读
    • r 仅可读
    • r+ 可以读写
    • w+ 可以读写
    • a+ 可以读写
  • 不可读的打开方式: w a
  • 如果不存在会创建新文件的打开方式:a a+ w w+

前面讲的默认都是读取文本文件,并且是UTF-8编码的文本文件。要读取二进制文件,比如图片、视频等等,用\'rb\'模式打开文件即可:

>>> f = open(\'/Users/michael/test.jpg\', \'rb\')
>>> f.read()
b\'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...\' # 十六进制表示的字节

对于编码有特殊要求,可以添加encoding选项

编码不规范的问阿金,遇到UnicodeDecodeError,可能文本中夹杂非法编码字符,使用errors参数,表示遇到后直接处理。常见的做法是忽略:

>>> f = open(\'/Users/michael/gbk.txt\', \'r\', encoding=\'gbk\', errors=\'ignore\')

参考:
https://www.liaoxuefeng.com/wiki/1016959663602400/1017607179232640#0
https://blog.csdn.net/ztf312/article/details/472

分类:

技术点:

相关文章: