使用`PYTHONINSPECT`进行友好的线路编辑

时间:2016-03-11 20:21:18

标签: python

我正在创建一个简单的脚本来执行一些环境设置,然后将用户放入交互式控制台(至少在某些情况下)。要将用户放入交互式控制台,我将PYTHONINSPECT环境变量设置为documented

  

使用os.environ的Python代码也可以修改此变量,以强制程序终止时检查模式。

不幸的是,一旦我进入交互式控制台,行编辑似乎低于标准(例如Ctrl + a不再将插入符号移动到行的开头)。

这是一个几乎无足轻重的脚本,你可以玩:

# test.py
import os
os.environ['PYTHONINSPECT'] = '1'

请注意,运行python test.py会使您进入交互式会话,但典型的行编辑功能已不复存在。如果您运行python -i test.py,典型的行编辑功能就可以正常工作。

我不确定它是否相关,但我在OS-X上,使用python 2.7.10:

Python 2.7.10 (default, Oct 23 2015, 18:05:06) 
[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.

问题似乎在我的python3.5版本中消失了。

我能做些什么来恢复那些漂亮的线条编辑功能吗?

1 个答案:

答案 0 :(得分:1)

嗯,看起来简单的答案就是导入readline:

import os
import readline
os.environ['PYTHONINSPECT'] = '1'