编程语言中,我们经常会和文件和文件夹打交道,这篇文章主要讲的是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()
# 操作完文件后一定要记得关闭,释放内存资源
---------------------
作者:cacho_37967865
来源:CSDN
原文:https://blog.csdn.net/sinat_37967865/article/details/79336884
版权声明:本文为博主原创文章,转载请附上博文链接!

python读写文件的操作的更多相关文章

  1. Python读写文件实际操作的五大步骤

    Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...

  2. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  3. Python 读写文件的正确方式

    当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python ...

  4. [Python]读写文件方法

    http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...

  5. Qt的Model/View Framework解析(数据是从真正的“肉(raw)”里取得,Model提供肉,所以读写文件、操作数据库、网络通讯等一系列与数据打交道的工作就在model中做了)

    最近在看Qt的Model/View Framework,在网上搜了搜,好像中文的除了几篇翻译没有什么有价值的文章.E文的除了Qt的官方介绍,其它文章也很少.看到一个老外在blog中写道Model/Vi ...

  6. Java-IO读写文件简单操作2

    承接Java-IO读写文件简单操作,这里再次写个小demo巩固一下知识点. 代码文件:demo.java package com.test.demo; import java.io.*; public ...

  7. python的re模块一些方法 && Tkinter图形界面设计 && 终止python运行函数 && python读写文件 && python一旦给字符串赋值就不能单独改变某个字符,除非重新给变量赋值

    Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton 终止python运行函数: 采用sys.exit(0)正 ...

  8. Python 读写文件操作

    python进行文件读写的函数是open或file file_handler = open(filename,,mode) Table mode 模式 描述 r 以读方式打开文件,可读取文件信息. w ...

  9. python对文件的操作

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...

随机推荐

  1. Linux下基于Xampp的TestLink的安装部署

    由于项目需要,故需要搭建Testlink,且出于稳定,考虑在linux环境部署,当然windows系统也是可以的. 系统:64位操作系统 linux:centos6.8 testlink:1.9.14 ...

  2. 4)抽象方法不能为private,final或者static,为什么?

    抽象方法的最实质的意 义在于被未来的子类覆盖实现掉.它自己是个空方法.private的实质意义在于本类其他方法调用它.你自己是个空方法,别人调用你有什么用?所以 abstract和private在一起 ...

  3. 缓冲区 cin() getline() getchar()

    ; } 只输入了一行abc, 然后回车后就输出一行abc, 一行空 这是因为cin在缓冲区里丢下的\n 给后面的getline()当成输入结束的标志了 二.getline(cin, str) 输入结束 ...

  4. ST Debug (printf) Viewer for Jlink

    Debug (printf) Viewer http://www.keil.com/support/man/docs/uv4/uv4_db_dbg_serialwin.htm Serial Windo ...

  5. pytorch基础学习(一)

    在炼丹师的路上越走越远,开始入手pytorch框架的学习,越炼越熟吧... 1. 张量的创建和操作 创建为初始化矩阵,并初始化 a = torch.empty(, ) #创建一个5*3的未初始化矩阵 ...

  6. ubuntu12.04 64位安装opencv-2.4.9

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/dengshuai_super/artic ...

  7. windows下搭建基于nginx的rtmp服务器

    https://blog.csdn.net/fireroll/article/details/51985688 Windows机器配置:Windows7旗舰版 64位Intel(R) Core(TM) ...

  8. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_14-课程预览功能开发-CMS添加页面接口

    5.3 CMS添加页面接口 cms服务对外提供添加页面接口,实现:如果不存在页面则添加,否则就更新页面信息. 此接口由课程管理服务在课程预览时调用. 接口方法.:页面没有就添加.有了更新数据 之前的接 ...

  9. 处理线上CPU负载过高的故障现象

    如何处理线上CPU100%的故障现象 处理流程: 1.登陆线上机器top命令,查看耗费cpu的进程号,举例来说发现进程24008持续耗费资源 2.top -Hp 24008去查看持续耗费cpu的线程号 ...

  10. Zabbix4.x 历史数据存储到Elasticsearch7.x

    一.简介 Zabbix 3.4.6 版本开始支持历史数据存储到 Elasticsearch, 早就想测试这个功能,最近有个需求需保存 zabbix 的历史数据上达十亿条,因此决定测试这功能的实用性,事 ...