Python打开与读取文件操作的常用方法

 更新时间:2023年07月05日 11:20:45   作者:小邑走天下  
这篇文章主要介绍了Python打开与读取文件操作的常用方法,通过编写代码自动化操作文件,读写文件、打开文件、写入文件、删除文件一系列都称作为电脑的操作,需要的朋友可以参考下

打开与读取文件

在 Python 中,内置了文件(file) 对象。 在使用文件对象时,首先需要通过内置的 open0 方法创建一个文件对象,然后通过该对象提供的方法进行基本的文件操作。

open() 函数的语法格式如下:

file = open(filename[,mode[,buffering]])

其中参数 fle为被创建的文件对象:

  • flename 为要创建或打开文件的文件名称,需要使用单引号或双引号括起来。 如果要打开的文件和当前文件在同一个目录下,那么直接写文件名即可,否则需要指定完整路径
  • mode 为可选参数,用于指定文件的打开模式,默认的打开模式为只读(即r); buffering 为可选参数,用于指定读写文件的缓冲模式,值为0表示不缓存,值为1表示缓存,如果值大于1,则表示缓冲区的大小。默认值为缓存模式。

在这里插入图片描述

在 Python 中打开文件后,可以读取文件中的内容。 文件对象提供了 readline()方法用于每次读取行数据。 readline()方法的语法格式如下:

file.readline()

打开文件后,需要及时关闭,以免对文件造成不必要的破坏。 关闭文件可以使用文件对象的close()方法实现。 close()方法的语法格式如下:

file.close()

文件操作的常用方法

文件读取操作通常有三种方法:

  1. read() 方法表示读取全部或部分内容;
  2. readline()方法表示逐行读取;
  3. readlincs()方法表示读取所有行内容。

下面重点介绍 read()方法和readlines()方法。

read()方法

读取文件的全部或部分内容,对于连续的面向行的读取,则不使用该方法。语法格式如下:

fp.read([size])

其中,size 为可选参数,用于指定要读取文件内容的字符数(所有字符均按一个计算,包括汉字),如read(8),表示读取前8个字符。如果省略,则返回整个文件的内容。

注意:使用 read()方法读取文件内容时,如果文件大于可用内存,则不能实现文件的读取,而是返回空字符串。

readlines()方法

返回一个列表,列表中每个元素为文件中的一行数据,语法如下:

file.readlines()

除了进行文件读取操作,有时还需要获取或移动文件指针位置的操作,常用的操作方法有 tell()方法和 seek()方法。

tell()方法

返回一个整数,表示文件指针的当前位置,即在二进制模式下距离文件头的字节数,语法如下:

file.tell()

使用 tell()方法返回的位置与为 read() 方法指定的 size 参数不同。

tell()方法返回的不是字符的个数而是字节数,其中汉字所占的字节数根据其采用的编码有所不同,如果采用GBK 编码,则一个汉字按两个字节计算;如果采用 UTF-8 编码,则一个汉字按3 个字节计算。

scck()方法

将文件的指针移动到新的位置,位置通过字节数进行指定。这里的数值与 tell() 方法返回的数值的计算方法一致。语法如下:

file.seek(offset[ ,whence])

参数说明:

  • file:表示已经打开的文件对象。
  • offset:用于指定移动的字符个数,其具体位置与 whence 有关
  • whence: 用于指定从什么位置开始计算。值为0表示从文件头开始计算,1表示从当前位置开始计算,2表示从文件尾开始计算,默认为 0。

到此这篇关于Python打开与读取文件操作的常用方法的文章就介绍到这了,更多相关Python常用文件操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python如何绘制概率分布直方图浅析

    Python如何绘制概率分布直方图浅析

    项目中在前期经常要看下数据的分布情况,这对于探究数据规律非常有用,概率分布表示样本数据的模样,使用Python绘制频率分布直方图非常简洁,因为用的频次非常高,这篇文章主要给大家介绍了关于Python如何绘制概率分布直方图的相关资料,需要的朋友可以参考下
    2021-12-12
  • Python Matplotlib绘制箱线图的全过程

    Python Matplotlib绘制箱线图的全过程

    又称箱形图(boxplot)或盒式图,数据大小、占比、趋势等等的呈现其包含一些统计学的均值、分位数、极值等等统计量,因此该图信息量较大,下面这篇文章主要给大家介绍了关于Python Matplotlib绘制箱线图的相关资料,需要的朋友可以参考下
    2021-09-09
  • pandas中的ExcelWriter和ExcelFile的实现方法

    pandas中的ExcelWriter和ExcelFile的实现方法

    这篇文章主要介绍了pandas中的ExcelWriter和ExcelFile的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 解决python3.6 右键没有 Edit with IDLE的问题

    解决python3.6 右键没有 Edit with IDLE的问题

    这篇文章主要介绍了解决python3.6 右键没有 Edit with IDLE的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Pandas计算元素的数量和频率的方法(出现的次数)

    Pandas计算元素的数量和频率的方法(出现的次数)

    本文主要介绍了Pandas计算元素的数量和频率的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • python dict乱码如何解决

    python dict乱码如何解决

    在本篇文章里小编给大家分享了关于python dict乱码解决方法,需要的朋友们可以参考下。
    2020-06-06
  • Python 日期的转换及计算的具体使用详解

    Python 日期的转换及计算的具体使用详解

    这篇文章主要介绍了Python 日期的转换及计算的具体使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • 利用PyQt5模拟实现网页鼠标移动特效

    利用PyQt5模拟实现网页鼠标移动特效

    不知道大家有没有发现,博客园有些博客左侧会有鼠标移动特效。通过移动鼠标,会形成类似蜘蛛网的特效,本文将用PyQt5实现这一特效,需要的可以参考一下
    2022-03-03
  • 解决python 在for循环并且pop数组的时候会跳过某些元素的问题

    解决python 在for循环并且pop数组的时候会跳过某些元素的问题

    这篇文章主要介绍了解决python 在for循环并且pop数组的时候会跳过某些元素的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • python中validators库的使用方法详解

    python中validators库的使用方法详解

    这篇文章主要介绍了python中validators库的使用方法详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09

最新评论