atextfile.txt 我得-6ren">
gpt4 book ai didi

python - 在 Python 3 中将 ascii 字符输出到标准输出

转载 作者:可可西里 更新时间:2023-11-01 09:36:45 25 4
gpt4 key购买 nike

我有一个名为“xxx.py”的文件,如下所示:

print("a simple string")

当我像这样运行时(Python 3):

python xxx.py >atextfile.txt

我得到一个 unicode 文件。

我想要一个 ascii 文件。

如果尝试打印非 ascii 字符,我不介意是否抛出异常。

我可以对将输出 ascii 字符的代码进行哪些简单更改?

我的搜索找到的解决方案对于这样一个简单的问题来说似乎都过于冗长。

[编辑] 报告我从设置 LC_CTYPE 中学到的东西:

我在 Windows 7 上运行。

  1. 在 powershell 命令行上运行时,我得到一个 unicode 文件(两个字节/字符)
  2. 在没有设置 LC_CTYPE 的 .bat 文件中运行时,我得到一个 ascii 文件(可能是 @jwodder 指出的 utf-8)。
  3. 在设置了 LC_CTYPE=ascii 的 .bat 文件中运行时,我得到的可能是一个 ascii 文件(1 字节/字符)。

最佳答案

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 的编码值环境变量。

关于python - 在 Python 3 中将 ascii 字符输出到标准输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39801978/

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