是否强制Python从命令行更新命令历史文件?
我通过从Bash命令行发出是否强制Python从命令行更新命令历史文件?,python,python-3.x,command-history,Python,Python 3.x,Command History,我通过从Bash命令行发出Python来使用没有GUI/IDE的Python。我在Cygwin环境中使用它,它在许多方面的行为类似于Linux系统 用于Python命令行中发出的命令的历史记录的文件存储在~/.Python\u history中。我可以很容易地快速进入并拖动内容,以便使用vim进行操作。还可以很容易地将被操纵的内容拖动到系统剪贴板中,以便在Python命令行中粘贴。(另一方面,对于命令的更多战术修订,我只使用readline对以前的命令和单行命令进行vim。) 我发现~/.pyt
Python
来使用没有GUI/IDE的Python。我在Cygwin环境中使用它,它在许多方面的行为类似于Linux系统
用于Python命令行中发出的命令的历史记录的文件存储在~/.Python\u history
中。我可以很容易地快速进入并拖动内容,以便使用vim进行操作。还可以很容易地将被操纵的内容拖动到系统剪贴板中,以便在Python命令行中粘贴。(另一方面,对于命令的更多战术修订,我只使用readline对以前的命令和单行命令进行vim。)
我发现~/.python\u history
不会在每个命令后更新。我不确定它多久更新一次,但很明显,退出Python会导致它更新。用Ctrl+Z组合键放在背景中不起作用
从Python命令行是否有一种快速方便的方法来强制更新到~/.Python_history
?通读一遍,我发现可能是您正在搜索的内容:
将历史记录列表保存到readline历史记录文件,覆盖任何现有文件。
默认文件名为~/.history
在交互式口译员中,首先要做的是
import readline.write_history_文件为whf#write history文件
然后您可以执行whf()
或whf(“path/to/.historyfile”)
,您的python历史将立即保存到磁盘
编辑:
我不确定它多久更新一次
它仅在您退出解释器时更新。如果您杀死它,历史记录将不会保存,
Ctrl+Z
只会导致解释器挂起。如果随后取消暂停(例如,通过执行fg
或bg
)并正常退出,历史文件将被写入。谢谢,程序员。我将不得不等待,直到我处于一个良好的位置来更新我的主机环境(Cygwin)。这就是我使用的Python。它当前无法识别导入readline.write_history_文件为whf#write history文件
:“readline”不是一个包
@user36800啊,我不知道你在使用Windowspyreadline
(pip安装pyreadline
);我听说这是Windows上的替代品。Cygwin提供了一个类似unix的层,包括readline
。我将readline
与bash、octave和pythonsangui一起使用。我还没有在Cygwin上搜索Python包的readline
,但我有点确定它会在那里。@user36800好的,也许pip安装readline
可以工作?可以。我的pip安装
运气很差。通过Cygwin安装系统范围的Python,并在用户自己的文件夹树下安装特定于用户的包,这是我没有解决的问题。但是,即使在安装了Cygwin之后,我可能仍然必须这样做。