为什么python读取不了文本

img

img

img


我想用python读取哈姆雷特文本,我的文本就在桌面上,为什么读取时显示错误,应该如何改进呢,我的错误在哪呢

将文本与你的程序放在同一文件夹下,或者用文本的绝对路径

该回答引用ChatGPT4与博主@晓码自在合作编写:

读取文本文件时出现错误,通常有以下几个原因:

  1. 文件路径错误:检查文件是否真的在桌面,路径是否正确写成r'desktop/hamlet.txt'
  2. 权限错误:检查是否有读取文本文件的权限,如果没有,要先修改权限
  3. 文件编码不匹配:检查文本文件编码,如UTF-8, GBK等,读取时指定相同编码,否则会出现乱码
  4. 文件不存在:检查文件是否真的存在,名称和后缀是否正确

你可以检查以下代码,找出错误原因:

python
import os

# 获取文本所在路径
text_path = os.path.join(os.path.expanduser('~'), 'Desktop', 'hamlet.txt')

# 打开文本文件
with open(text_path, 'r', encoding='utf-8') as f:
    text = f.read()

print(text)

如果显示FileNotFoundError,说明文件路径或者文件名错误。

如果显示UnicodeDecodeError,说明文件编码和读取编码不匹配,修改encoding参数为文本文件真实编码。

对于你的问题,我推测很可能是文件路径写错了,或者桌面没有hamlet.txt这个文件。你可以检查以下:

  1. 桌面是否真的有hamlet.txt文件
  2. 文件路径text_path是否正确写成了r'desktop/hamlet.txt',注意desktop是小写
  3. 后缀名是否为.txt,有些文本会用.docx或其他后缀

找到错误原因后进行修正,就可以成功读取文本文件了。

问题是你的py文件在code文件夹里,路径不一致
把txt也放进code里,或者写'../hamlet.txt'