Python文件操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python文件操作相关的知识,希望对你有一定的参考价值。
读写文件是最常见的IO操作。Python内置了读写文件的函数,用法和C是兼容的。
读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件)。
文件操作流程
1 打开文件,得到文件句柄并赋值给一个变量。
2 通过句柄对文件操作
3 关闭文件
测试文件:
1 他多想是棵小草 2 他多想是棵小草,染绿那荒郊野外 3 他多想是只飞雁,闯翻那滔滔云海 4 哪怕是野火焚烧,哪怕是雷轰电闪 5 也落个逍遥自在,也落个欢心爽快 6 他多想是棵小草,染绿那荒郊野外 7 他多想是只飞雁,闯翻那滔滔云海 8 哪怕是野火焚烧,哪怕是雷轰电闪 9 也落个逍遥自在,也落个欢心爽快 10 蹉跎了岁月,伤透了情怀 11 为什么,为什么,偏有这样的安排?
基本操作
读文档
f= open(‘banished.txt‘,encoding="utf-8")#通过open函数打开一个文件,返回文件句柄 print(f.read())#读取文件内容 f.close()#关闭文件
以上为读出来的内容,read()函数会把文件内的内容一次性全部读出来,如果读取两次会有什么效果呢?
f = open(‘banished.txt‘,‘r‘,encoding="utf-8") data1 = f.read() data2 = f.read() print(data1) print(‘---------------%s ‘% data2) f.close()
重新读了一次但是并没有打印内容。原来当我们对文件操作的时候,文件内部会有一个文件指针来定位当前位置,初始位置1按字节内容移动。read()方法会把内容全部读出来并且把文件指针移动到末尾,这个时候在用read()方法在去读内容发现没有内容可以读就返回空。
写文档
‘w’ 模式写文件会创建一个文件,文件原来有内容会被覆盖。用这个模式打开后的文件不能用read()方法读文件。
banished1.txt 文档内容
# Author:zhang 他多想是棵小草 他多想是棵小草,染绿那荒郊野外 他多想是只飞雁,闯翻那滔滔云海 哪怕是野火焚烧,哪怕是雷轰电闪 也落个逍遥自在,也落个欢心爽快 他多想是棵小草,染绿那荒郊野外 他多想是只飞雁,闯翻那滔滔云海 哪怕是野火焚烧,哪怕是雷轰电闪 也落个逍遥自在,也落个欢心爽快 蹉跎了岁月,伤透了情怀 为什么,为什么,偏有这样的安排?
f = open(‘banished1.txt‘,‘w‘,encoding=‘utf-8‘) f.write(‘老西游记配曲‘) f.close()
执行写操作后
老西游记配曲
读和写一样会偏移文件指针
f = open(‘banished1.txt‘,‘w‘,encoding=‘utf-8‘) f.write(‘老西游记配曲\\n‘)#内容换行 f.write(‘很经典的配乐‘) f.close()
写完后的内容
老西游记配曲 很经典的配乐
‘a’ 文档追加 这个模式不会覆盖原文件。
f = open(‘banished1.txt‘,‘a‘,encoding=‘utf-8‘) f.write(‘\\n许镜清老师作品‘) f.close()
写完后的内容
老西游记配曲 很经典的配乐 许镜清老师作品
新内容已经追加到最后。
参考文档:文件读写 --- 廖雪峰Python3
以上是关于Python文件操作的主要内容,如果未能解决你的问题,请参考以下文章