鱼C论坛

 找回密码
 立即注册
查看: 1436|回复: 4

[已解决]关于python写入文件的问题

[复制链接]
发表于 2018-3-7 20:10:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
>>> f = open('C:\\py example\\小甲鱼\\小甲鱼源码\\随书源码\\record.txt')
>>> f.read()
'小客服:小甲鱼,有个好评很好笑哈。\n小甲鱼:哦?\n小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~"\n小甲鱼:哈哈哈,我看到丫,我还发微博了呢~\n小客服:嗯嗯,我看了你的微博丫~\n小甲鱼:哟西~\n小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^”\n小甲鱼:T_T'
>>> f
<_io.TextIOWrapper name='C:\\py example\\小甲鱼\\小甲鱼源码\\随书源码\\record.txt' mode='r' encoding='cp936'>
>>> f.read()
''
>>>


为什么我使用了f.read()后f就变空了?
最佳答案
2018-3-7 20:13:04
f.read()
只能读一次,不能反复读。
读一次后,文件指向已经指向最后了,再读当然就没有内容了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-7 20:13:04 | 显示全部楼层    本楼为最佳答案   
f.read()
只能读一次,不能反复读。
读一次后,文件指向已经指向最后了,再读当然就没有内容了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-7 20:13:33 | 显示全部楼层
ba21 发表于 2018-3-7 20:13
f.read()
只能读一次,不能反复读。
读一次后,文件指向已经指向最后了,再读当然就没有内容了。

那是要f.seek(0,0)吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-7 20:15:52 | 显示全部楼层
ba21 发表于 2018-3-7 20:13
f.read()
只能读一次,不能反复读。
读一次后,文件指向已经指向最后了,再读当然就没有内容了。

还有我想问下
for each_line in f:
         print(each_line)
书上说文件对象支持迭代,用for语句读取就可以了,那么为什么文件对象的迭代会是每一行呢,为什么不是每一个字符?                  
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-7 21:14:44 | 显示全部楼层
董梦成 发表于 2018-3-7 20:15
还有我想问下
for each_line in f:
         print(each_line)

这个功能就是迭代一行。要迭代一个字符你可以自己写个迭代器咯
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-8 07:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表