Python报错'tuple' object has no attribute 'read':文件读取问题求助
解决Python读取文件时'tuple' object has no attribute 'read'的错误
错误原因拆解
- 最初代码里的
file = "This PC/C:/Python Programming/Doors.txt","r"根本没调用open()函数打开文件,只是创建了一个包含路径字符串和模式字符串的元组,元组类型没有read()方法,自然报错。 - 你修改后加了
open(),但路径里的"This PC/"是Windows资源管理器的界面显示名称,不是系统实际识别的文件路径,导致open()找不到目标文件,问题没解决。
正确代码写法
直接用系统可识别的绝对路径调用open(),同时推荐用with语句管理文件(自动关闭文件,避免资源占用):
# opening_a_file.py # 移除路径里的"This PC/",直接使用C盘起始的有效路径 with open("C:/Python Programming/Doors.txt", "r") as file: print("read function: ") print(file.read()) print() # 如需重新读取文件内容,先将文件指针移到开头 file.seek(0) # 这里可以添加重新读取的逻辑,比如 print(file.read())
额外提示
- 确保路径里的空格、文件夹/文件名和实际文件完全一致,Windows路径不区分大小写,但空格不能少或多。
- 怕路径里的转义字符出问题,可以用原始字符串,比如
r"C:/Python Programming/Doors.txt",避免不必要的错误。
内容的提问来源于stack exchange,提问作者abraki94
相关产品推荐
相关产品推荐

