Jammly
发布于 2023-04-07 / 69 阅读
1

Python 文件操作

常见的字符编码格式

  • Python的解释器使用的是Unicode(内存)
  • .py文件再磁盘上使用UTF-8存储(外存)
    #encoding=gbk #设置编码格式

文件的读写操作

  • 内置函数open()创建文件对象
  • 语法规则
    file=open(filename [,mode,encoding])

常用的文件打开模式

  • 文件的类型
    文本文件:存储的是普通“字符”文本,默认Unicode字符集,可以使用记事本程序打开
    二进制文件:把数据内容用“字节”进行存储,无法用记事本打开,必须使用专用的软件打开,举例:mp3音频文件,jpg图片,doc文档等
  • 打开模式
    r 以只读模式打开文件,文件的指针将会放在文件的开头
    w 以只写模式打卡文件,如果文件不存在则创建,如果文件存在,则覆盖原有内容,文件指针再文件的开头
    a 以追加模式打卡文件,如果文件不存在则创建,文件指针再文件开头,如果文件存在,则文件末尾追加内容,文件指针在源文件末尾
    b 以二进制方式打开文件,不能单独使用,需要与其它模式一起使用,rb、wb
    + 以读写方式打开文件,不能单独使用,需要与其它模式一起使用,a+

文件对象的常用方法

  • read([size])
    从文件中读取size个字节或字符的内容返回,若省略[size],则读取到文件末尾,即一次读取文件所有内容

  • readline()
    从文本文件中读取一行内容

  • readlines()
    把文本文件中每一行都作为独立的字符串对象,并将这些对象放入列表返回

  • write(str)
    把字符串str内容写入文件

  • writelines(s_list)
    把字符串列表s_list写入文本文件,不添加换行符

  • seek(offset,whence)
    把文件指针移动到新的位置,offset表示相对于whence的位置;offset为正往结束方向移动,为负往开始方向移动
    whence不同的值代表不同的含义:
    0:从文件头开始计算(默认值)
    1:从当前位置开始计算
    2:从文件尾开始计算

  • tell()
    返回文件指针的当前位置

  • flush()
    把缓冲区的内容写入文件,但不关闭文件

  • close()
    把缓冲区的内容写入文件,同时关闭文件,释放文件对象相关资源

with语句(上下文管理器)

  • with语句可以自动管理上下文资源,不论什么原因挑出with块,都能确保文件正确的关闭,以此来达到释放资源的目的
#自动调用__enter__()方法,并将返回值赋值给src_file

with open('logo.png', 'rb') as src_file:
	src_file.read()

#离开运行时上下文,自动调用上下文管理器的特殊方法__exit__()