首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么使用Python的'-i‘或'-c’选项会导致以前会话的readline历史记录不可用?

为什么使用Python的'-i‘或'-c’选项会导致以前会话的readline历史记录不可用?
EN

Stack Overflow用户
提问于 2011-08-03 11:38:23
回答 2查看 187关注 0票数 4

我使用.pythonsetup文件以readline module docs中描述的方式启用readline历史记录。通常,以前交互式解释器会话的历史记录在我启动新会话时可用。

代码语言:javascript
运行
复制
% python
>>> # history available...

但是,在使用-i或-c时,过去的历史记录不可用。这并不是说readline被禁用:历史记录可用于当前会话,但该历史记录不会保存到历史记录文件中。

代码语言:javascript
运行
复制
% 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时使历史可用(并可保存)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-03 11:48:44

我的python2.6的手册页上写着

-i ...它不读取$PYTHONSTARTUP文件。

因为这是您自定义readline行为( http://docs.python.org/py3k/library/readline.html#example )的方式,所以当您使用该选项时,它不会生效。

票数 3
EN

Stack Overflow用户

发布于 2011-08-03 11:44:40

如果使用IPython,则可以获得此行为

代码语言:javascript
运行
复制
ipython -i myscript.py

就我个人而言,无论如何我都会推荐使用它,原因很多,它比默认的解释器更好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6921365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档