【Python】读写文件的操作

编程语言中,我们经常会和文件和文件夹打交道,这篇文章主要讲的是Python中,读写文件的常用操作:

一、打开文件

openFile = open('../Files/exampleFile.txt', 'a')

说明:
1. 第一个参数是文件名称,包括路径,可以是相对路径./,也可以是绝对路径"d:\test.txt";
2. 第二个参数是打开的模式mode,包含r,w,a,r+

'r':只读(缺省。如果文件不存在,则抛出错误)

FileNotFoundError: [Errno 2] No such file or directory: '../Files/exampleFile.txt'
'w':只写(如果文件不存在,则自动创建文件),文件常用w
'a':附加到文件末尾(如果文件不存在,则自动创建文件)
'r+':读写(如果文件不存在,则抛出错误)
FileNotFoundError: [Errno 2] No such file or directory: '../Files/exampleFile.txt'
如果需要以二进制方式打开文件,需要在mode后面加上字符"b",比如"rb""wb"等,图片常用wb

二、读取内容
1. openFile.read(size)  
参数size表示读取的数量,可以省略。如果省略size参数,则表示读取文件所有内容。
2. openFile.readline()
读取文件一行的内容
3. openFile.readlines()
读取所有的行到数组里面[line1,line2,...lineN]。在避免将所有文件内容加载到内存中,这种方法常常使用,便于提高效率。
如果要显示文件内容,需要通过print进行打印:print(openFile.readline())

三、写入文件
1. openFile.write('Sample\n') 
将一个字符串写入文件,如果写入结束,必须在字符串后面加上"\n",然后openFile.close()关闭文件
如果需要追加内容,需要在打开文件时通过参数'a',附加到文件末尾;如果覆盖内容,通过参数'w'覆盖

四、文件中的内容定位
1.openFile.read()
读取内容后文件指针到达文件的末尾,如果再来一次openFile.readline()将会发现读取的是空内容,
如果想再次读取第一行,必须将定位指针移动到文件开始位置:
2.openFile.seek(0) 
这个函数的格式如下(单位是bytes):openFile.seek(offset, from_what) 
from_what表示开始读取的位置,offset表示从from_what再移动一定量的距离,
比如openFile.seek(28,0)表示定位到第0个字符并再后移28个字符。from_what值为0时表示文件的开始,它也可以省略,缺省是0即文件开头。 

五、关闭文件释放资源
1.openFile.close()
文件操作完毕,一定要记得关闭文件f.close(),可以释放资源供其他程序使用

六、将读取的内容写入文件
open('../Files/File.txt', 'a').write(openFile.read())
将读取到的内容获取我们需要的存入到另外一个文件
我们一般的文件操作步骤是:

1.打开文件>读取文件>关闭文件

 
openFile = open('../Files/exampleFile.txt', 'r')
print("读取所有内容:\n"+openFile.read())
openFile.seek(0)
print("读取第一行内容:\n"+openFile.readline())
openFile.seek(28,0)
print("读取开始位置向后移动28个字符后的内容:"+openFile.read())
openFile.close()

2.打开文件>写入文件>关闭文件

openFile = open('../Files/exampleFile.txt', 'a')
openFile.write('Sample\n')
openFile.close()

3.打开文件>读取文件>读取的文件写入到新文件>关闭文件

openFile = open('../Files/exampleFile.txt', 'r')
print("读取所有内容:\n"+openFile.read())
openFile.seek(0)
print("读取第一行内容:\n"+openFile.readline())
openFile.seek(28,0)
print("读取开始位置向后移动28个字符后的内容:"+openFile.read())
openFile.seek(0)
open('../Files/File.txt', 'a').write(openFile.read())
openFile.close()

# 操作完文件后一定要记得关闭,释放内存资源

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/568697.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试开发——flask视图函数与路由 实战重点

开头必须分享一个我的志玲姐姐,太可了!点击此处 flask视图函数与路由的关系一、视图函数与路由 实战重点1.1 一个视图函数可以绑定多个URL地址1.2 视图装饰器应该放到最外层1.3所实现的装饰器要返回视图函数的返回值二、动态路由1. 用url匹配2. 通过传参…

【Python】文件夹的常用操作

上一篇文章主要讲了Python中,读写文件的常用操作,今天这篇文章主要讲的是关于文件夹的一些常用操作: 关于文件的操作,需要导入包:import os 文件操作: #1.创建相对路径的空文件,如果已有文件…

Python 中的range(),arange()函数

1.range()返回的是range object,而np.arange()返回的是numpy.ndarray() range 尽可用于迭代,而 np.arange 作用远不止于此,它是一个序列,可被当做向量使用。 2.range()不支持步长为小数,np.arange()支持步长为小数 3.两…

SyntaxError: Non-UTF-8 code starting with ‘\xe2‘ 今天是小白上线的一天

打代码的时候第一行的utf-8注释居然空了个格 # coding utf-8估计是甜甜的恋爱想傻了,我居然还去查自己错哪里了,还说我的编码是对的鸭 正确输入: # codingutf-8

【Python爬虫】Python3+selenium环境配置

在我们爬虫爬网过程中,我们需要用到Python3selenium,Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作。对于一些JavaScript渲染的页面来说,这种抓取方式非常有效。 文章参考…

numpy 数组与矩阵的乘法理解

1. 当为array的时候,默认d*f就是对应元素的乘积,multiply也是对应元素的乘积,dot(d,f)会转化为矩阵的乘积, dot点乘意味着相加,而multiply只是对应元素相乘,不相加 2. 当为mat的时候…

(AU/PS)Adobe Audition CC.exe -系统错误 由于找不到MSVCP120.dll,无法继续执行代码。重新安装程序可能会解决此问题。

bug简直难过报错情况:由于找不到MSVCP120.dll,无法继续执行代码。重新安装程序可能会解决此问题。最终解决办法心得体会https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注! 欢迎关注微信公众号:宝藏女孩的成长日记 让这…

【数据库】Window环境安装MySQL Server 5.7.21

正常我们在mysql官网下载安装的MySQL比较大,因为它集成了好多东西,尽管方便,但是东西比较多,有些我们可能不想要,这时我们可以直接下载单个MySQL Server安装,所以这篇文章主要介绍的就是在window环境下安装…

产品经理:论项目计划有多重要?——软件项目管理

凡事预则立,不预则废前言一、论安迪特质与项目经理的共通性二、个人感想三、我的产品经理实习笔试前言 昨天杨老师上了一让我记忆很深刻的课,就是项目计划的重要性,以《肖申克的救赎 》为例: 《肖申克的救赎 》的背景是20世纪30年代&#xff…

Python开发中有可能遇到的套接字重复使用错误

PyCharm开发中有可能遇到的套接字重复使用错误 windows下在PyCharm中执行python代码,如果源文件被修改后,执行窗口中的运行状态会被终结,重启时有可能报如下的错误: OSError: [WinError 10048] 通常每个套接字地址(协议/网络地址/…

Android开发环境配置介绍

在我们进行AppiumAndroid进行自动化测试时,我们需要安装android_sdk环境,安装过程发现Android SDK,Android studio,AVD Manager,SDK Manager等名词,本篇文章主要介绍的就是Android开发环境的搭建&#xff0…

python3 struct.pack方法报错argument for 's' must be a bytes object

在python3下使用struct模块代码 fileHead struct.pack(128sl, os.path.basename(filePath),os.stat(filePath).st_size); 1 抛出异常: argument for s must be a bytes object必须要是字节类型。 1 解决办法: 把字符串的地方转为字节类型,还要要先转…

python——百钱买百鸡:一只公鸡5块钱,一只母鸡3块钱,三只小鸡1块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?

学习《python程序设计教程》的时候,遇到了这个问题,觉得还蛮好玩的: 百钱买百鸡:一只公鸡5块钱,一只母鸡3块钱,三只小鸡1块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少…

以知乎为例子来说明MVC是个啥

记得当时了解Web开发的MVC(Model-View-Controller)模式后,有一种心血喷涌的感觉,觉得太有意思了(程序员别喷,我就是这么没见过世面)。我们以知乎为例子来说明MVC是个啥:每个人的主页…

C/S架构网络聊天软件——Java Chat Application 用java做一个聊天机器人

Fighting!一、C/S概念1.1 什么是C/S1.2 C/S与B/S的区别二、主页面三、介绍四、特征五、jServer六、jMessenger七、使用代码7.1 导入项目后报错情况7.2 解决办法一、C/S概念 1.1 什么是C/S C/S分布式模式,是计算机用语。C是指Client,S是指Server&#xf…

python库安装错误 in _error_catcher解决之镜像安装

pip install grpcio-tools 1、出现如下错误: Traceback (most recent call last): File "d:\usedtool\python\lib\site-packages\pip\_vendor\urllib3\response.py", line 302, in _error_catcher yield File "d:\usedtool\python\lib\sit…

【文章】浅相遇,薄相知,淡相守,终难忘

浅相遇 人生犹如一场戏,在每一个转折点,总有意想不到的邂逅。 有的相遇成歌,注定了在这绻绻红尘中,相携而去。有的转身为念,注定了行色匆匆,独自而行。 其实,上苍是公平的。在为我们关上一扇…

学习python 正则表达式——与你同行!

正则表达式定义 又称为规则表达式,是一个特殊的字符序列,利用事先定义好的一些特定字符以及它们的组合组成一个‘规则’,检查一个字符串是否与这种规则匹配来实现对字符的检索、过滤、匹配、替换。正则表达式需要用到re模块,该模块…

python 编译procto错误处理

运行:python -m grpc_tools.protoc --proto_path. --python_out. --grpc_python_out. helloworld.proto 出现如下错误: helloworld.proto: No such file or directory 解决方案: 解决方法一: cd 到helloworld.proto 的根目录 …

【Python】function、module、Package及import导入方法

计算机程序开发中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护。 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里面,这样,这个文件包含的代码就相对…