我有一个名为'xxx.py'的文件,如下所示:
print("a simple string")
当我像这样运行时(Python 3):
python xxx.py >atextfile.txt
我收到了一个unicode文件。
我想要一个ascii文件。
如果尝试打印非ascii字符,我不介意抛出异常。
我可以对输出ascii字符的代码进行哪些简单的更改?
我的搜索结果显示解决方案对于这样一个简单的问题都显得过于冗长。
[编辑]报告我从设置LC_CTYPE中学到的东西:
我在Windows 7上运行。
答案 0 :(得分:0)
stdout
编码由执行python脚本的环境定义,例如:
$ python -c "import sys; print(sys.stdout.encoding)"
UTF-8
$ LC_CTYPE=ascii python -c "import sys; print(sys.stdout.encoding)"
US-ASCII
在运行脚本之前尝试调整环境。您可以通过设置PYTHONIOENCODING
环境变量来强制Python的编码值。