youngleecn 2022-05-09 09:28 采纳率: 100%
浏览 33
已结题

python关于文件读写的问题。

代码如下:

f = open("file_test", "w+", encoding="utf-8")
f.write("0123456789\n")
f.write("HIJKLMN\n")
f.write("hijklmn\n")
f.seek(0) # 光标移动到0的位置
f.write("test") # 再写入会将原内容覆盖
#print(f.readline()) # 如果这一行注释掉,则“test”会写到文件末尾。否则“test”会写到文件开头。WTF?
f.close()

问题:如果注释掉倒数第二行,“test”会写到文件末尾,否则“test”会写到文件开头。咋回事?

  • 写回答

2条回答 默认 最新

  • hyh123a 全栈领域新星创作者 2022-05-09 09:34
    关注
    f = open("file_test", "w+", encoding="utf-8")
    f.write("0123456789\n")
    f.write("HIJKLMN\n")
    f.write("hijklmn\n")
    f.seek(0) # 光标移动到0的位置
    f.write("test") # 再写入会将原内容覆盖
    print(f.readlines()) # 如果这一行注释掉,则“test”会写到文件末尾。否则“test”会写到文件开头。WTF?
    f.close()
    

    可能是读取的优先级比写的优先级高,读取的时候,全部读取完,光标定位到文件末尾,这时候f.write才可是写入。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    youngleecn 2022-05-11 09:41

    Thank U!

    回复
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 5月17日
  • 已采纳回答 5月10日
  • 创建了问题 5月9日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部