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

Python:刚创建写入的文件读取返回空列表,求助原因

问题原因与解决办法

你遇到的问题核心是文件指针位置的问题:

当你调用write()写入内容后,文件内部的指针会停留在写入内容的末尾。此时执行readlines(),会从当前指针位置开始读取到文件结尾,自然读不到任何内容,所以返回空列表[]。虽然文件关闭后内容会被写入磁盘(所以你手动打开能看到内容),但程序读取时指针位置不对,就会出现这种“写入了但读不到”的情况。

解决方法

方法1:写入后移动文件指针到开头

在读取前调用seek(0),把指针移回文件起始位置,就能读取到刚写入的内容:

FileObject = open('Fileobject.txt', 'x+')
FileObject.write("testing")
FileObject.seek(0)  # 移动指针到文件开头
print(FileObject.readlines())
FileObject.close()

方法2:关闭文件后重新打开读取

关闭文件会确保内容写入磁盘,重新打开时指针默认在开头,就能正常读取:

# 写入文件
FileObject = open('Fileobject.txt', 'x+')
FileObject.write("testing")
FileObject.close()

# 重新打开读取
with open('Fileobject.txt', 'r') as f:
    print(f.readlines())

方法3:使用with语句(推荐)

with语句会自动管理文件的打开和关闭,写法更简洁安全:

with open('Fileobject.txt', 'x+') as f:
    f.write("testing")
    f.seek(0)
    print(f.readlines())

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 13:52:43