文件的读操作
示例:
print("->文件句柄的获取,读操作:") f = open('无题','r',encoding='utf8') d = f.read() f.close() print(d) print('->例二:') f = open('无题','r',encoding='utf8') e = f.read(9) f.close() print(e) #python3中,文件中一个中英文都占位1
运行结果:
复制代码
->文件句柄的获取,读操作: 昨夜星辰昨夜风 画楼西畔桂堂东 身无彩凤双飞翼 心有灵犀一点通 ->例二: 昨夜星辰昨夜风 画
文件的写操作
知识点:
1. 写操作前,文件先格式化清空文件
2.清空操作,在执行open的w方法后,清空
print("写的操作,写文件的时候,不能调用读方法,读文件的时候,不能调用写方法") f = open('python','w',encoding='utf8') f.write("I must learn python \nbecause, python is important \n") f.write("java is better") f.write("maybe") #上面的语句,没有加换行符,所以输出的内容是紧接的 f.close()
运行结果:
打开文件后显示如下
I must learn python because, python is important java is better"htmlcode">f = open('python','a',encoding='utf8') f.write("花开又花落") f.close()运行结果:
I must learn python because, python is important java is better"htmlcode">print("readline方法") f = open('无题','r',encoding='utf8') a = f.readline() print("此时光标位置:",f.tell()) b = f.readline() print("此时光标位置:",f.tell()) print(a.strip()) #strip是字符串方法中去除空格和换行的方法 print(b.strip()) print("readlines方法,会将每行的内容组成一个列表打印") f = open('无题','r',encoding='utf8') c = f.readlines() print(c) print(id(c)) print(id(f)) for i in c: print(i.strip()) print("遍历方法") f.seek(0) for i in f: print(i.strip()) f.close() #文件的操作中,close()方法一定不能忘记运行结果:
readline方法 此时光标位置: 23 此时光标位置: 46 昨夜星辰昨夜风 画楼西畔桂堂东 readlines方法,会将每行的内容组成一个列表打印 ['昨夜星辰昨夜风\n', '画楼西畔桂堂东\n', '身无彩凤双飞翼\n', '心有灵犀一点通'] 37826824 5344280 昨夜星辰昨夜风 画楼西畔桂堂东 身无彩凤双飞翼 心有灵犀一点通 遍历方法 昨夜星辰昨夜风 画楼西畔桂堂东 身无彩凤双飞翼 心有灵犀一点通文件的tell() 和 seek()方法
示例:
f = open('无题','r',encoding='utf8') f.read(4) print('当前光标位置',f.tell()) f.seek(10) print('当前光标位置',f.tell()) f.close() #read时,一个中文算三个字符运行结果:
当前光标位置 12
当前光标位置 10
文件操作之flush方法
import sys,time for i in range(20): sys.stdout.write("#") sys.stdout.flush() time.sleep(1)truncate方法
f = open('test','w') f.write("hello") f.write("\n") f.write("python") f.flush() #这样不用执行close方法,内存中的数据,就会写入到disk f.close() f = open('test','a') f.truncate(2) #截断方法,光标从2开始往后截取 f.close()其他的文件方法: r+ 读写方法
基于字符read & write
最基本的文件操作当然就是在文件中读写数据。这也是很容易掌握的。现在打开一个文件以进行写操作:
fileHandle = open ( 'test.txt', 'w' )
‘w'是指文件将被写入数据,语句的其它部分很好理解。下一步就是将数据写入文件:
fileHandle.write ( 'This is a test.\nReally, it is.' )
这个语句将“This is a test.”写入文件的第一行,“Really, it is.”写入文件的第二行。最后,我们需要做清理工作,并且关闭文件:
fileHandle.close()
正如你所见,在Python的面向对象机制下,这确实非常简单。需要注意的是,当你再次使用“w”方式在文件中写数据,所有原来的内容都会被删除。如果想保留原来的内容,可以使用“a”方式在文件中结尾附加数据:
fileHandle = open ( 'test.txt', 'a' ) fileHandle.write ( '\n\nBottom line.' ) fileHandle.close()然后,我们读取test.txt,并将内容显示出来:
fileHandle = open ( 'test.txt' ) print fileHandle.read() fileHandle.close()以上语句将读取整个文件并显示其中的数据。
基于行的读写 line
fileHandle = open ( 'test.txt' ) print fileHandle.readline() # "This is a test." fileHandle.close()同时,也可以将文件内容保存到一个list中:
fileHandle = open ( 'test.txt' ) fileList = fileHandle.readlines() for fileLine in fileList: print '', fileLine fileHandle.close()或者在文件中一次读取几个字节的内容:
fileHandle = open ( 'test.txt' ) print fileHandle.read ( 1 ) # "T" fileHandle.seek ( 4 ) print FileHandle.read ( 1 ) # " "(原文有错)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]