gpt4 book ai didi

python - 使用重定向时 python3 中的 UnicodeEncodeError

转载 作者:行者123 更新时间:2023-12-05 03:56:01 25 4
gpt4 key购买 nike

我想做的是:从一个pdf文件中提取文本信息并将其重定向到一个txt文件。

我做了什么:

pip install pdfminor

pdf2txt.py file.pdf > output.txt

我得到的:

UnicodeEncodeError: 'gbk' codec can't encode character '\u2022' in position 0: illegal multibyte sequence

我的观察:

\u2022 是要点,

pdf2txt.py 在没有重定向的情况下运行良好:项目符号字符被写入标准输出,没有任何错误。

我的问题:

为什么重定向会导致python错误?据我所知,重定向是一个操作系统。作业,它只是在程序完成后复制东西。

如何解决这个错误?我无法对 pdf2txt.py 进行任何修改,因为它不是我的代码。

最佳答案

重定向会导致错误,因为 Python 使用的默认编码不支持您尝试输出的字符之一。在您的情况下,您正在尝试输出 bullet character 使用 GBK codec .这可能意味着您使用的是中文版 Windows。

Python 3.6 或更高版本可以很好地输出到 Windows 上的终端窗口,因为使用 Unicode 完全绕过了字符编码。只有在将输出重定向到文件时,才必须将 Unicode 编码为字节流。

可以设置环境变量PYTHONIOENCODING更改用于 stdio 的编码。如果您使用 UTF-8,它将保证可以处理任何 Unicode 字符。

set PYTHONIOENCODING=utf-8
pdf2txt.py file.pdf > output.txt

关于python - 使用重定向时 python3 中的 UnicodeEncodeError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59779618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com