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常用文件操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何修改Jupyter工作路径(已安装Anaconda)

    如何修改Jupyter工作路径(已安装Anaconda)

    这篇文章主要介绍了如何修改Jupyter工作路径问题(已安装Anaconda),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • Python 类与元类的深度挖掘 I【经验】

    Python 类与元类的深度挖掘 I【经验】

    super() 方法解决了类->实例实践过程中关于命名空间的一些问题,而关于生成对象的流程,我们知道初始化实例是通过类的 __init__() 方法完成的,在此之前可能涉及到一些其它的准备工作,包括接下来提到的 mro() 方法以及关键的元类->类的过程
    2016-05-05
  • 聊聊pytorch中Optimizer与optimizer.step()的用法

    聊聊pytorch中Optimizer与optimizer.step()的用法

    这篇文章主要介绍了pytorch中Optimizer与optimizer.step()的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python+OpenCV实现图像的全景拼接

    Python+OpenCV实现图像的全景拼接

    这篇文章主要为大家详细介绍了Python+OpenCV实现图像的全景拼接,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • Python 中开发pattern的string模板(template) 实例详解

    Python 中开发pattern的string模板(template) 实例详解

    这篇文章主要介绍了Python 中开发pattern的string模板(template) 实例详解的相关资料,需要的朋友可以参考下
    2017-04-04
  • Python字典和列表性能之间的比较

    Python字典和列表性能之间的比较

    今天给大家介绍的是Python列表和字典的相关知识,文中对Python字典和列表的性能作了充分的比较,好奇的小伙伴们一起来看看吧,需要的朋友可以参考下
    2021-06-06
  • 基于python3监控服务器状态进行邮件报警

    基于python3监控服务器状态进行邮件报警

    这篇文章主要介绍了基于python3监控服务器状态进行邮件报警,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • python爬虫scrapy框架之增量式爬虫的示例代码

    python爬虫scrapy框架之增量式爬虫的示例代码

    这篇文章主要介绍了python爬虫scrapy框架之增量式爬虫的示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python中正则表达式的用法实例汇总

    Python中正则表达式的用法实例汇总

    这篇文章主要介绍了Python中正则表达式的用法实例汇总,非常实用,需要的朋友可以参考下
    2014-08-08
  • 详解python实现线程安全的单例模式

    详解python实现线程安全的单例模式

    这篇文章主要介绍了python实现线程安全的单例模式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03

最新评论