当前位置: 首页 > 面试题库 >

如何在python解释器外壳中重复上一条命令?

宣瀚
2023-03-14
问题内容

如何重复上一条命令?通常的键:向上,Ctrl +向上,Alt-p不起作用。他们产生荒谬的性格。

(ve)[kakarukeys@localhost ve]$ python
Python 2.6.6 (r266:84292, Nov 15 2010, 21:48:32) 
[GCC 4.4.4 20100630 (Red Hat 4.4.4-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
hello world
>>> ^[[A
  File "<stdin>", line 1
    ^
SyntaxError: invalid syntax
>>> ^[[1;5A
  File "<stdin>", line 1
    [1;5A
    ^
SyntaxError: invalid syntax
>>> ^[p
  File "<stdin>", line 1
    p
    ^
SyntaxError: invalid syntax
>>>

问题答案:

我使用以下命令在python shell上启用历史记录。

这是我的 .pythonstartup 文件。PYTHONSTARTUP环境变量设置为此文件路径。

# python startup file 
import readline 
import rlcompleter 
import atexit 
import os 
# tab completion 
readline.parse_and_bind('tab: complete') 
# history file 
histfile = os.path.join(os.environ['HOME'], '.pythonhistory') 
try: 
    readline.read_history_file(histfile) 
except IOError: 
    pass 
atexit.register(readline.write_history_file, histfile) 
del os, histfile, readline, rlcompleter

您将需要使模块readline rlcompleter启用此功能。

在以下网址查看有关此信息:http : //docs.python.org/using/cmdline.html#envvar-
PYTHONSTARTUP

所需模块:

  1. http://docs.python.org/library/readline.html
  2. http://docs.python.org/library/rlcompleter.html


 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : Python何时为相同的字符串分配新的内存? (5个答案) 7年前关闭。 我遇到了这种奇怪的行为,这种行为仅在交互式Python会话中发生,而在编写脚本并执行时却没有。 在Python中,字符串是不可变的数据类型,因此: 现在,奇怪的部分: 我已经看到,字符串中包含空格会导致此行为。如果将其放在脚本中并运行,则在两种情况下结果均为True。 有人对此有任

  • 错误描述: 错误:任务“:app:transform类与Jar合并进行检测”的执行失败。 这是我的等级代码

  • 问题内容: 我正在尝试从解释器中使用python命令执行文件。 编辑:我正在尝试使用该文件中的变量和设置,而不是调用一个单独的进程。 问题答案: 几种方法。 从外壳 从IDLE内部,按 F5 。 如果您是交互式输入,请尝试以下操作:( 仅适用于Python 2 !) 对于Python3 ,请使用:

  • 要为Ubuntu映像启动交互式shell,我们可以运行: 但当对Alpine Docker图像运行此操作时,会产生以下结果: 在Alpine base容器中启动交互式shell的命令是什么?

  • 如何添加要显示在条形图中条形图上方的值标签:

  • 问题内容: 在使用以下代码初始化时,我拼错了名称: 我实际上打算用名称创建环境。尝试将文件夹重命名为时,我发现这没有太大帮助。激活环境的名称仍重命名旧的。 我想知道如何重命名环境? 问题答案: 默认情况下,virtualenv不支持环境重命名。仅删除virtualenv目录并使用正确的名称创建一个新目录是更安全的。您可以通过以下方式做到这一点: 激活您的virtualenv: 创建当前安装的软件包