首页 > 解决方案 > NLTK 访问本地文件;UnicodeDecodeError:“charmap”编解码器无法解码位置 834 中的字节 0x9d:字符映射到

问题描述

这是我的第一篇文章,我几乎没有经验,但我喜欢学习。我希望这篇文章是可以理解的,但请随时询问更多详细信息。

我正在使用 Cygwin,偶尔会使用 IDLE Python 3.9 来完成一些大学任务。目前我正在尝试使用 NLTK 模块并标记文本。

我做的第一件事是打开 python(通过 Cygwin 或直接从 IDLE,但我主要使用 Cygwin)。

>>>import nltk
>>> from nltk import word_tokenize
>>> from nltk.book import *

此时将下载一个包含不同书籍的图书馆供我访问。不过,我真的不需要它们,因为我需要访问一个名为“Tint”的文件夹中的本地文件

我已经设法执行但无法复制的命令是

>>>Rev = open("/Users/acer/OneDrive - Università di Pavia/Desktop/Tint/amazon_jamon.no_alterations.txt", "r").read()

过去,我遇到的第一个问题是由于反斜杠而使用转义命令,但是当我将其修复为常规斜杠时,它会起作用。现在我试图访问同一个“Tint”文件夹中的类似 .txt 文件,通过这个命令我得到一个不同的错误。

>>> desc = open("/Users/acer/OneDrive - Università di Pavia/Desktop/Tint/salame_
P.txt", "r").read()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python\Python 395\lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 834: char
acter maps to <undefined>

标签: python-3.xcygwinnltkpython-unicode

解决方案


推荐阅读