Python打开文件后仅显示<_io.TextIOWrapper>对象,如何输出文件内容?
问题原因与解决方案
你当前的代码只是创建了文件对象并直接打印它,所以输出的是文件对象的元数据(路径、打开模式、编码等),而非文件内容。要获取文件内容,需要调用文件对象的读取方法,以下是几种正确实现方式:
方法1:读取全部内容并手动关闭文件
# 路径用双反斜杠转义,避免转义字符冲突 file = open("C:\\Users\\Acer Predator\\est.txt", "r", encoding="utf-8") print(file.read()) file.close() # 手动关闭文件释放系统资源
方法2:使用with语句(推荐)
with语句会自动处理文件的打开与关闭,无需手动操作,更安全高效:
# 用原始字符串r""直接书写路径,无需转义反斜杠 with open(r"C:\Users\Acer Predator\est.txt", "r", encoding="utf-8") as file: print(file.read())
方法3:逐行读取(适合大文件)
如果文件体积较大,逐行读取可以减少内存占用:
with open(r"C:\Users\Acer Predator\est.txt", "r", encoding="utf-8") as file: for line in file: print(line, end="") # end=""避免输出额外空行
额外注意事项
- Windows路径中的
\是Python的转义字符,必须用双反斜杠\\或者原始字符串r""处理,否则会导致路径解析错误。 - 显式指定编码(如
encoding="utf-8")可以避免系统默认编码(如你输出中的cp1252)与文件实际编码不匹配引发的乱码问题。
内容的提问来源于stack exchange,提问作者Julie Petersson
相关产品推荐
相关产品推荐

