Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ptpython控制台中读取历史记录?_Python_Python 3.x_Console_Ptpython - Fatal编程技术网

如何在ptpython控制台中读取历史记录?

如何在ptpython控制台中读取历史记录?,python,python-3.x,console,ptpython,Python,Python 3.x,Console,Ptpython,我一直在试图弄清楚如何在ptpython控制台中保存和读取Python命令的历史记录,但一直未能做到这一点。到目前为止,我所做的一切努力都是为了改变现状。然而,我仍然无法阅读我的历史 我只想能够按下↑ 和↓ 从上一个控制台会话(而不是当前的控制台会话)中遍历Python命令的箭头。以下是我当前在$PYTHONSTARTUP文件中的内容: 我的$PYTHONSTARTUP变量是: $ echo $PYTHONSTARTUP /Users/[redacted]/.pystartup 我使用的是P

我一直在试图弄清楚如何在ptpython控制台中保存和读取Python命令的历史记录,但一直未能做到这一点。到目前为止,我所做的一切努力都是为了改变现状。然而,我仍然无法阅读我的历史

我只想能够按下↑ 和↓ 从上一个控制台会话(而不是当前的控制台会话)中遍历Python命令的箭头。以下是我当前在$PYTHONSTARTUP文件中的内容:

我的$PYTHONSTARTUP变量是:

$ echo $PYTHONSTARTUP 
/Users/[redacted]/.pystartup
我使用的是Python 3.7.3、macOS 10.14.6和ptpython 2.0.4


谢谢

如果您检查源代码,那么您会看到选项history\u filename=


顺便说一句:如果文件夹~/.ptpython不存在,则必须在运行代码之前创建它。

如果检查源代码,则会看到选项history\u filename=


顺便说一句:如果文件夹~/.ptpython不存在,那么您必须在运行代码之前创建它。

至于我,您运行sys.exitembed,因此它不能在这一行之后运行代码,因此它不能读取历史记录。您必须在sys.exitem之前阅读它。如果你把print放在sys.exitembed之后,你会看到它从未打印过。至于我,你运行sys.exitembed,所以它不能在这一行之后运行代码,所以它不能读取历史记录。您必须在sys.exitem之前阅读它。如果您在sys.exitembed之后放置print,那么您将看到它从未打印过。我认为这是有效的!让我使用它一点,以确保一切正常运行,然后我可以标记它为正确的。我认为这是有效的!让我使用它一点,以确保一切正常运行,然后我可以标记它为正确的。
$ echo $PYTHONSTARTUP 
/Users/[redacted]/.pystartup
embed(globals(), locals(), history_filename=historyPath)
import os

try:
    from ptpython.repl import embed
except ImportError:
    print('ptpython is not available: falling back to standard prompt')
else:
    historyPath = os.path.expanduser("~/.ptpython/history")
    embed(globals(), locals(), history_filename=historyPath)