首页 > 编程语言 >Python文件操作的几个要点与示例

Python文件操作的几个要点与示例

时间:2023-06-10 16:33:50浏览次数:63  
标签:文件 None 读取 示例 Python 模式 使用 要点 指针


一般操作文件时,要么是读取其中的内容,要么是往里面写入新内容,但偶尔也会需要同时进行读写。

Python内置函数在操作文本文件和自定义二进制文件时比较方便,该函数语法为:

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

其中比较常用的参数有:1)file用来指定要操作的文件路径,如果文件不在当前文件夹,建议在写文件路径时使用原始字符串;2)encoding用来指定操作文本文件时使用的编码格式,在Windows平台上默认为cp936;3)mode用来指定打开模式,默认为读取文本文件,可能的取值范围和含义如下:

Python文件操作的几个要点与示例_linux

mode参数的这些取值可以组合使用,例如读取二进制文件时使用rb,写入二进制文件可以使用wb。这里需要注意的几个细节有:1)r、w、x以及这几个模式衍生的模式,打开文件时文件指针位于文件头;而a、ab、a+这样的模式,打开文件时文件指针位于文件尾。2)w和x都是写模式,在目标文件不存在时是一样的,但如果目标文件已存在的话w模式会清空原有内容而x模式会抛出异常。

如果需要同时进行读写,不是使用rw模式,而是使用r+、w+或a+的组合方式(或对应的rb+、wb+、ab+)打开,其中r+要求文件已存在。

打开文件之后,read()、readline()和write()等方法都是从文件指针的当前位置进行读写,并且,文件指针的位置会随着读写而自动变化。例如,以r模式打开文件之后,文件指针在文件头,使用read(5)读取5个字符之后,文件指针自动移动到第6个字符的位置,再使用read()方法读取时是从当前位置(也就是第6个字符的位置)开始读。在需要时可以使用文件对象的seek()方法调整文件指针的位置。

文件对象的seek()方法使用方法如下,其中偏移量的单位为字节,即使是以文本文件的模式打开文件。

Python文件操作的几个要点与示例_linux_02

下面的代码演示了seek()方法的用法,首先创建新文件,然后写入内容,再重新定位文件指针并修改其中的部分内容或者读取其中的内容:

Python文件操作的几个要点与示例_java_03

公众号“Python小屋”

标签:文件,None,读取,示例,Python,模式,使用,要点,指针
From: https://blog.51cto.com/u_9653244/6454793

相关文章

  • Python使用标准库itertools中count类求解数苹果问题
    问题描述:有一箱苹果,4个4个地数最后余下1个,5个5个地数最后余下2个,9个9个地数最后余下7个。编写程序计算这箱苹果至少有多少个。解题思路:先确定除以9余7的最小整数,对这个数字重复加9,如果得到的数字除以5余2就停止;然后对得到的数字重复加45,如果得到的数字......
  • Python数据分析库pandas高级接口dt和str的使用
    Series对象和DataFrame的列数据提供了cat、dt、str三种属性接口(accessors),分别对应分类数据、日期时间数据和字符串数据,通过这几个接口可以快速实现特定的功能,非常快捷。本文重点介绍和演示dt和str的用法。DataFrame数据中的日期时间列支持dt接口,该接口提供了dayofweek、dayofyear、......
  • Python多进程使用队列共享数据协同判断素数
    感谢江西师范大学李雪斌老师提供素材和第一版本代码。问题描述:创建两个队列,qIn用来存储指定范围内的整数,qOut用来存放该范围内的所有素数。创建多个进程,每个进程依次从qIn队列中获取整数,并判断是否为素数,如果是素数则存入qOut。技术要点:1)使用Python标准库multiprocessing创建和管理......
  • Python测试序列是否所有相邻元素之间都具有升序关系
    代码功能:测试给定序列中是否所有相邻元素都具有严格的升序关系,也就是每个元素都比相邻的后面元素小。......
  • Python连接两个字符串并去除首尾重复子串
    代码功能:查找两个字符串的首尾重复部分最大长度,连接两个字符串,并去除两个字符串的首尾重复部分。例如,1234和2347这两个字符串,前面字符串的234子串和后面字符串的234字串重复,两个字符串连接成为12347。参考代码与运行结果:......
  • 1000道Python题库系列分享21(11道编程题:内置函数专项练习)
    本期题目,答案在文末:参考代码:......
  • Python编程常见问题与解答
    1.问:Python代码运行速度和C语言相比,哪个更快?答:一般来说,Python代码的运行速度比C语言的慢很多,但是如果充分运用内置函数、标准库对象和函数式编程模式的话,运行速度会提高很多,可以接近C语言。2.问:学习Python编程,用哪个开发环境更好一些呢?答:目前来看,Anaconda3和PyCharm用的相对来说多......
  • Python 3.8与普通程序员有关的几个新特性
    ==============1、字典支持内置函数reversed()了。在Python3.7之前的版本中,是不支持内置函数reversed()的,但在Python3.8中,可以这样做了,2、加强了函数调用时关键参数形式的限制。在Python3.7之前的版本中,是允许这样用的,虽然很少有人这样做但在Python3.8中,不再允许了,3、改进了函......
  • python网络爬虫--爬取各省GDP
    一、选题背景1.随着经济全球化的日益深入发展,各国的经济发展也日益重要。在中国,省份是经济发展的基本单位,各省之间经济发展水平的差异较大。了解各省份GDP的数据情况,对于政府部门制定地区经济政策、企业拓展市场等具有重要的参考意义。2.因此,通过Python爬取各省份GPD数据,可......
  • 用 Python + turtle 模块绘制五星红旗
    用Python绘制五星红旗在这个代码示例中,我将介绍如何使用Python的turtle模块绘制五星红旗。turtle模块是一个图形库,可以轻松地在Python中实现简单的绘图功能。导入模块首先,我们需要导入turtle模块和math模块,以便能够使用数学函数来计算五角星的边长、比例尺等参数......