Почему использование опций Python '-i' или '-c' делает историю чтения строки предыдущих сессий недоступной? - PullRequest
4 голосов
/ 03 августа 2011

Я использую файл .pythonsetup для включения истории readline способом, описанным в документации readline .Обычно история предыдущих сеансов интерактивного переводчика доступна, когда я запускаю новый сеанс.

% python
>>> # history available...

Однако при использовании -i или -c история прошлого недоступна.Дело не в том, что readline отключен: история доступна для текущего сеанса, но история не будет сохранена в файл истории.

% python -i myscript.py
>>> # previous history not available

% python -i -c "x = 1"
>>> # previous history not available

Это поведение согласовано в Python 2.6, 2.7 и 3.2.

Кто-нибудь знает, почему предыдущая история чтения строки отключена при использовании -i или -ic?Есть ли способ настроить readline, чтобы сделать историю доступной (и сохраняемой) при использовании -i или -ic?

Ответы [ 2 ]

3 голосов
/ 03 августа 2011

Справочная страница для моего python2.6 говорит

-i ... Он не читает файл $ PYTHONSTARTUP.

Так как вы настроили поведение readline (http://docs.python.org/py3k/library/readline.html#example), оно не вступит в силу при использовании этой опции.

1 голос
/ 03 августа 2011

Вы можете получить это поведение, если вы используете IPython :

ipython -i myscript.py

Лично я бы рекомендовал использовать его в любом случае, по большому количеству причин он превосходит интерпретатор по умолчанию.

...