【问题标题】:How can I get interactive Python to avoid using readline while allowing utf-8 input?如何在允许 utf-8 输入的同时获得交互式 Python 以避免使用 readline?
【发布时间】:2009-01-28 14:26:28
【问题描述】:

我使用一个终端(9term),它自己进行命令行编辑 - 使用 readline 的程序只会妨碍它。它完全支持 utf-8。如何在保留 utf-8 输入和输出的同时使交互式 python 会话禁用 readline?

目前我使用:

LANG=en_GB.UTF-8 export LANG
cat | python -i

但是这会导致 sys.stdin.encoding 为 None,这意味着 Ascii (系统默认编码,好像不能改)

TERM=dumb python

不会禁用 readline(它还会破坏 utf-8 输入)。

我是 python 新手,如果这是一个明显的问题,我深表歉意。

【问题讨论】:

    标签: python utf-8 interactive


    【解决方案1】:

    过去,我通过从源代码重建 Python readline 来禁用它:configure --disable-readline

    不过,对于您的情况,这可能有点过头了。

    【讨论】:

    • 这可能是一个选项,但如果可能的话,我更喜欢一种我可以与任何人安装的 python 一起使用的方法。快速查看源代码表明动态加载的 C 扩展可能能够做到这一点,但我不确定。
    • --disable-readline 仍然创建一个 lib-dynload/readline.so 链接到系统 readline。什么给了?
    猜你喜欢
    • 2017-08-30
    • 2011-01-25
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-02
    • 2018-12-29
    • 1970-01-01
    相关资源
    最近更新 更多