You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何向文件追加文本?为何a+模式写入后读取返回空值

问题原因
  • Python 中使用a+模式打开文件时,文件指针默认位于文件末尾,写入操作完成后,指针会继续停留在新写入内容的末尾位置。
  • 此时直接执行read()方法,会从指针所在的文件末尾位置开始读取,自然没有内容可以返回,最终打印为空。
正确实现方案

仅追加内容无需读取

如果不需要在写入后立刻读取文件内容,直接写入即可,无需额外操作:

with open("/tmp/newfile.txt", "a+") as myfile:
    # 单次追加
    myfile.write('../')
    
    # 如果是持续追加,直接循环写入即可,示例追加10次
    # for _ in range(10):
    #     myfile.write('../')

追加后需要读取文件内容

写入完成后调用seek(0)将文件指针移动到文件开头,再执行读取操作即可:

with open("/tmp/newfile.txt", "a+") as myfile:
    myfile.write('../')
    # 移动文件指针到文件起始位置
    myfile.seek(0)
    contents = myfile.read()
    print(contents)

内容的提问来源于stack exchange,提问作者DuckHunt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 09:24:02