小能豆

当有 UTF-8 字符时如何直接输出到文件?

py

我有一个 python 脚本,它从 twitter API 中抓取大量最近的推文并将它们转储到屏幕上。它运行良好,但当我尝试将输出定向到文件时,发生了一些奇怪的事情,并且打印语句导致异常:

> ./tweets.py > tweets.txt
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2018' in position 61: ordinal not in range(128)

我知道问题在于其中一条推文中的 UTF-8 字符无法很好地转换为 ASCII,但有什么简单的方法可以将输出转储到文件中?我是否应该在 python 脚本中修复此问题,还是有办法在命令行中强制执行此操作?

顺便说一句,该脚本是用 Python2 编写的。


阅读 23

收藏
2024-12-06

共1个答案

小能豆

无需修改脚本,您只需设置环境变量PYTHONIOENCODING=utf8,Python 就会在重定向到文件时采用该编码。

2024-12-06