python中文件读写--open函数详解
python中open函数详解
在python中文件的读取分为三步走:
读:打开文件 -> 读文件 -> 关闭文件
(有点像把大象放进冰箱需要几步?的问题)
1、open函数
open函数主要运用到两个参数,文件名和mode,文件名是添加该文件对象的变量,mode是告诉编译器和开发者文件通过怎样的方式进行使用。因此在Python中打开文件的代码如下:
file_object = open('filename','mode','encoding')
mode
mode参数可以不写,默认mode参数是“r”。mode参数如下:
- ‘r’ – 只读模式,当文件处在”只读“的模式时使用。
- ‘w’ – 写入模式,将新信息编辑写入文件中的时候使用(使用高模式的时候、任何现存的同名文件的内容将会被擦除,从而写入新的内容分)
写入模式要慎用,哪怕仅仅是运行了file=open(”filename“,”w“)这句话,那么该文件中所有内容全部被擦除。 - ‘a’ – append模式,将新数据加到文件末尾,不会擦除现存的同名文件的内容。
- ‘r+’ – 特殊的”读取“ + ”写入“模式,当同时存在读写操作的时候使用
总结为一张图为:
- 第三个参数:encoding
- 表示的是返回的数据采用何种编码,一般采用utf-8 或者 gbk(encoding参数也可以不写)
2、创建文本文件 create a text file
file = open('testfile.txt', 'w') file.write('Hello World\n')
file.write('This is our new text file\n')
file.write('and this is another line. \n')
file.write('Why? Because we can. \n') file.close()
运行代码以后,在本地就会出现一个叫test file的文本文件,里面的内容为:
Hello World
This is our new text file
and this is another line
Why? Because we can.
3、读取:在python中读取txt文件
file = open('testfile.text', 'r')
print(file.read())
将会把该文本文件中所有的内容展示出来
另外,如下只想打印文件文件中的部分内容,也可以采用下面的方式
file = open('testfile.txt', 'r')
print(file.read(5))
编译器将会读写文本文件中存储的前5个字符
逐行输出
如果想要逐行输出,而不是把所有内容打印出来,以至于没有换行、所有内容都挤在一起,那么需要调用readlines()函数。当调用这个方法的时候,将会把文本中的每一行作为一个元素放在list中,返回包含了所有行的list。
file = open('testfile.txt', 'r')
print(file.readlines())
如果需要指定打印出第二行,代码如下:
file = open('testfile.txt', 'r')
print(file.readlines()[1])
循环文本文件
我们也可以采用循环的方式的将文件中的内容逐行输出:
file = open('testfile.txt', 'r')
for line in file: print(line)
4、文件写入
文件写入也是三步:打开文件——写入文件——关闭文件
file = open('testfile.txt', 'w')file.write('This is a test')
file.write('To add more lines.')file.close()
- open()函数中还是三个参数,其他都一样,除了要把第二个参数改成“w”,表示write,即以写入的模式打开文件。
- ==注:==1、write()函数写入文本文件的也是字符串类型。2、在’w’ 和’a’模式下,如果你打开的文件不存在,那么open()函数会自动帮你创建一个
5、关闭文件
当操作完成之后,使用file.close()来结束操作,从而终结使用中的资源,从而能够释放内存。
- 至于为啥要关闭文件呢?原因有两个:1、计算机能够打开的文件数量是有限制的,open()过多而不close()的话,就不能再打开文件了。2、能保证写入的内容已经在文件里被保存好了。
补充:
为了避免打开文件后忘记关闭,占用资源或当不能确定关闭文件的恰当时机的时候,我们可以用到关键字with,举例如下:
# 普通写法
file1 = open('abc.txt','a')
file1.write('张无忌')
file1.close()# 使用with关键字的写法
with open('abc.txt','a') as file1:
#with open('文件地址','读写模式') as 变量名:#格式:冒号不能丢file1.write('张无忌') #格式:对文件的操作要缩进#格式:无需用close()关闭
6、总结:
1、打开文本文件:
fh = open('hello.txt', 'r')
2、读取文本文件:
fh = open('hello.txt', 'r')
print(fh.read())
3、将新的信息写入文本中、并擦除原来的信息:
fh = open('hello.txt', 'w') fh.write('Put the text you want to add here')
fh.write('and more lines if need be.') fh.close()
4、在现存的文件中加入新的内容、不会擦除原来的内容:
fh = open('hello.txt', 'a')
fh.write('We Meet Again World')
fh.close()
python中文件读写--open函数详解相关推荐
- python平方数迭代器_对python中的高效迭代器函数详解
python中内置的库中有个itertools,可以满足我们在编程中绝大多数需要迭代的场合,当然也可以自己造轮子,但是有现成的好用的轮子不妨也学习一下,看哪个用的顺手~ 首先还是要先import一下: ...
- python中plt定义,对Python中plt的画图函数详解
1.plt.legend plt.legend(loc=0)#显示图例的位置,自适应方式 说明: 'best' : 0, (only implemented for axes legends)(自适应 ...
- Python操作文件之open函数详解
Python的open函数详解 open(file, mode='rt', encoding=None) -> BaseIO mode参数详解: 字符 含意 'r' 读取(默认) 'w' 写入, ...
- python中内置数学函数详解和实例应用之三角函数_初级阶段(二)
学习目标: 利用python进行三角函数运算 学习内容: python中的三角函数合集和应用实例 转载请注明出处! 学习产出: 环境:python 3.7, 利用shell进行实例操作. Note: ...
- python数据库文件读写(超详解)
目录 一:文件读写流程 二:函数open()中参数mode最常见的6种模式 三:读取文件三大方法的区别 四:超大文件高效处理 思维导图: 1.文件读写流程: (1):第 ...
- [转载] Python 中reduce()与lambda函数详解
参考链接: Python中的reduce a = [2,22,222] Sn = reduce(lambda x,y:x+y,a) print "计算和为:",Sn reduce( ...
- python中input()函数详解
1.input()函数赋值后数据在python内部的类型. if __name__=="__main__":a=input()print(type(a))b=input()prin ...
- python中内置数学函数详解和实例应用之三角函数曲线_初级阶段(三)
学习目标: 利用matplotlib 和 numpy 画三角函数曲线 学习内容: 正弦,余弦,正切,余切函数曲线 双曲正弦,双曲余弦,双曲正切,双曲余切函数曲线 反正弦,反余弦,反正切,反余切函数曲线 ...
- Python中的select、epoll详解
Python中的select.epoll详解 文章目录 Python中的select.epoll详解 一.select 1.相关概念 2.select的特性 1.那么单进程是如何实现多并发的呢??? ...
最新文章
- 任天堂经典拳击游戏可以体感操作了,打开网页就能玩,击败泰森不是梦
- 无法打开物理文件“E:\Database\VRVIES6841-FZ01-Global\VRVEIS.mdf”。操作系统错误 5:“5(拒绝访问。)”...
- oracle中having作用,oracle中having与where的区别
- 【C/C++】一篇文章教你区分数组指针指针数组
- 概率论经典问题 —— 三个事件 A、B、C 独立 ≠ 三个事件两两独立
- Android Baseline小tip
- 使用Hibernate SQLQuery(转)
- 更改以太网共享属性家庭网络连接值,解决电脑笔记本连接校园网显示无internet无法开热点或开热点手机无ip分配问题
- 如何申请一个教育邮箱
- 微信小程序(一):霍兰德职业兴趣测试、心里测评、性格测评(含可用完整代码)
- 海南信用社计算机试题,2015年海南农村信用社考试试题——计算机基础知识一...
- c语言商场收款程序,c语言 如何用switch语句编写一个有关商场购物金额优惠的选择程式...
- 删除带头结点的单链表的奇数结点
- 易语言调用大漠插件实现多线程后台绑定游戏窗口和打怪
- matlab cbfreeze,Matlab:如何在同一图中为不同的表面指定不同的色图/色块
- LintCode 2017 光棍节
- 访问twitter_从命令行访问Twitter
- 《A Metric Learning Reality Check》笔记
- C语言递归的理解与应用
- 每日一篇机器学习公众号D3-字节跳动安全Ai挑战赛-小样本赛道方案总结