鱼C论坛

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

[已解决]python中打开文件用.read()会不从文件第一个字符读取

[复制链接]
发表于 2020-7-7 23:37:55 | 显示全部楼层 |阅读模式

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

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

x
问题:使用read()函数读取文件,不从第一个字符读起,求教
文件内容:小甲鱼,你好,跟你一起学习真好

代码如下:
f = open('G:/test.txt/read.txt', encoding='UTF-8')
print(f.tell())
f.read(2)
print(f.read(2))#这本应该输出文本“小甲”,为啥输出“鱼,”,并不是从第一个字符开始读取?
print(f.tell())

输出结果:
0
鱼,
12
最佳答案
2020-7-7 23:41:06
本帖最后由 Twilight6 于 2020-7-8 09:26 编辑



f.read(2)
print(f.read(2))

因为你是先 f.read(2) 然后在 print(f.read(2))

当你执行 f.read(2) 的时候 文件指针已经向后移动两个字符了,也就是已经读取了 "小甲"

而当你再次 print(f.read(2)) 的时候 文件指针是从 开始的,所以这次打印是 "鱼,"


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-7-7 23:41:06 | 显示全部楼层    本楼为最佳答案   
本帖最后由 Twilight6 于 2020-7-8 09:26 编辑



f.read(2)
print(f.read(2))

因为你是先 f.read(2) 然后在 print(f.read(2))

当你执行 f.read(2) 的时候 文件指针已经向后移动两个字符了,也就是已经读取了 "小甲"

而当你再次 print(f.read(2)) 的时候 文件指针是从 开始的,所以这次打印是 "鱼,"


点评

哈哈  发表于 2020-7-8 09:26
如何在 -> 然后再  发表于 2020-7-8 09:25
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-7 23:44:04 | 显示全部楼层
感谢鱼友,搞懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 04:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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