python idle重复上一条命令,如何在python解释器外壳中重复最后一个命令?

  • Post author:
  • Post category:python

How do I repeat the last command? The usual keys: Up, Ctrl+Up, Alt-p don’t work. They produce nonsensical characters.

(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 “”, line 1

^

SyntaxError: invalid syntax

>>> ^[[1;5A

File “”, line 1

[1;5A

^

SyntaxError: invalid syntax

>>> ^[p

File “”, line 1

p

^

SyntaxError: invalid syntax

>>>

解决方案

I use the following to enable history on python shell.

This is my .pythonstartup file . PYTHONSTARTUP environment variable is set to this file path.

# 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

You will need to have the modules readline, rlcompleter to enable this.

Modules required: