python输出箭头代码_OS X和代码在Python中的“向上箭头”历史记录.InteractiveConsole...

我在一些Python脚本中使用以下技巧来进入交互式Python REPL会话:

import code; code.InteractiveConsole(locals=globals()).interact()

这通常可以在各种RHEL机器上正常工作,但是在我的笔记本电脑(OS X 10.11.4)上,它似乎在没有readline支持的情况下启动了REPL.您可以看到我得到了^ [[A ^ C垃圾字符.

My-MBP:~ complex$cat repl.py

a = 'alpha'

import code; code.InteractiveConsole(locals=globals()).interact()

b = 'beta'

My-MBP:~ complex$python repl.py

Python 2.7.10 (default, Oct 23 2015, 19:19:21)

[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

(InteractiveConsole)

>>> a

'alpha'

>>> ^[[A^C

如果我直接调用python,则REPL中的向上箭头命令历史记录可以正常工作.

我尝试检查globals()来寻找一些线索,但是在每种情况下它们似乎都是相同的.关于如何解决这个问题或在哪里寻找的任何想法?

编辑:并显示正确的行为:

My-MBP:~ complex$python

Python 2.7.10 (default, Oct 23 2015, 19:19:21)

[GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin

Type "help", "copyright", "credits" or "license" for more information.

>>> 'a'

'a'

>>> 'a'

解决方法:

只需在脚本或控制台中导入readline.

标签:readline,read-eval-print-loop,python,macos

来源: https://codeday.me/bug/20191118/2030833.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值