首页 > 代码库 > Python文件操作
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文件处理之文件指针(四)
Python文件操作
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。