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

VS Code运行Python读取txt文件报错及输出非预期内容问题

问题原因及解决方案

1 为什么之前会报FileNotFoundError

VS Code默认运行Python脚本时的工作目录是编辑器打开的项目根目录,而非当前运行脚本所在的文件夹,当name.txt和脚本同目录但和项目根目录不同时,就会找不到文件。你开启「Execute In File Dir」设置后,运行时会自动将工作目录切换到脚本所在文件夹,因此文件可以被正常找到。

2 为什么输出的是TextIOWrapper对象而非文件内容

open() 函数的返回值是文件流对象(_io.TextIOWrapper),它只是程序和磁盘文件之间的交互通道,本身并不存储文件的实际内容,你直接打印这个对象只会输出对象的类型描述信息,而非文件内容。

要获取文件内容,必须调用文件对象的读取方法,同时为了避免资源泄露,建议使用with上下文管理器自动完成文件关闭操作。

3 修正后的代码示例

基础修改版(适配原有写法)

# 打开文件获取文件对象
s = open("name.txt", encoding='utf-8')
# 调用read()方法读取文件全部内容
content = s.read()
print("Your name is", content)
# 手动关闭文件释放资源
s.close()

推荐写法(with上下文管理器)

不需要手动写关闭逻辑,文件操作完成后会自动释放资源,更加稳妥:

with open("name.txt", 'r', encoding='utf-8') as f:
    content = f.read()
print("Your name is", content)

补充说明

  • 如果文件内容有多行,你只需要第一行的内容,可以把read()替换为readline()
  • 建议显式指定encoding参数,避免不同操作系统默认编码不一致导致的乱码问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:45:03