编程语言中,我们经常会和文件和文件夹打交道,这篇文章主要讲的是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. enablePullDownRefresh的使用

    1.首先要在app.json里面去将enablePullDownRefresh设置为true. 2.js 3.现象

  2. OpenFOAM的PISO算法【转载】

    转载自:http://openfoam.blog.sohu.com/94234375.html 流体力学的控制方程是耦合方程组,形式上体现为连续方程和运动方程的耦合,变量上体现为速度和压强的耦合.在数 ...

  3. fluent中如何对一个非整个volume的特定的区域进行数据分析?【转载】

    作者:王蒙 链接:https://www.zhihu.com/question/37432813 来源:知乎 很抱歉,我不知道 fluent 中是否有这一功能,我这个学期才开始学.但 CFD-Post ...

  4. .htaccess文件常见到[QSA][NC][L][R][F]的意思

      .htaccess文件常见到[QSA][NC][L][R][F]几个字符在代码末尾,下边列出它们在静态规则中的作用,以备参考.   NC : no case,不区分大小写,忽略大小写: L : l ...

  5. OpenJudge计算概论-取石子游戏

    OpenJudge计算概论-取石子游戏[函数递归练习] /*====================================================================== ...

  6. OpenJudge计算概论-自整除数

    /*=================================================== 自整除数 总时间限制: 1000ms 内存限制: 65536kB 描述 对一个整数n,如果其 ...

  7. Mac中好用的快捷键

    1.safari safariy页面刷新:Command+R,类似于Win系统里面的F5

  8. CV2——学习笔记-图像分类

    1.图像分类 • 2.神经网络原理 • 1.卷积神经网络介绍 • 2.利用caffe搭建深度网络做图像分类 挑战:光照变化+形变.类内变化. 标签.预测函数,泛化能力. 如何提高泛化能力?需要用图像特 ...

  9. c语言面试宝典(经典,超详细)

    c语言面试宝典(经典,超详细) 2018年08月25日 09:32:19 chengxuyuan997 阅读数:7799   摘自:https://blog.csdn.net/chengxuyuan9 ...

  10. Java高并发程序设计

    一.并行世界 摩尔定律的失效,2004年秋季,Intel宣布彻底取消4GHz计划,CPU向多核心的发展,顶级计算机科学家唐纳德丶尔文丶克努斯评价:在我看来,这种现象(并发)或多或少是由于硬件设计者已经 ...