16

我在 mac 上使用 anaconda,我想知道是否有办法清除我的 python 命令历史记录。具体来说,python在终端调用时,我想清除我之前在这里输入的任何内容。

4

6 回答 6

29

假设您想清除当您点击向上和向下箭头键时 Python 执行的命令历史记录,该历史记录由 GNU readline 库或 libedit 管理,具体取决于您的系统。Pythonreadline模块是底层库的 Python 级接口(即使该库是 libedit),在底层库支持它的系统上,您可以使用以下命令清除历史记录readline.clear_history

>>> import readline
>>> readline.clear_history()

我不知道你的 Mac 上的库是否支持它。

于 2018-11-29T00:26:39.633 回答
2

如果您的系统不使用readline,要删除所有 Python 命令历史记录,只需删除~/.python_history.

您可以使用以下命令查看历史文件的完整路径:

python -c "import os; print(os.path.join(os.path.expanduser('~'), '.python_history'))".

在 Windows 上,历史文件位于%userprofile%\.python_history(例如,'C:\Users\<user>\.python_history')。

于 2021-05-28T02:37:41.237 回答
0

逃生顺序?

print(chr(27) + "[2J")

或者

import os
os.system('cls' if os.name == 'nt' else 'clear')
于 2018-11-29T00:18:05.527 回答
0

您可以使用标准库 subprocess 模块中的 subprocess.call() 将重置命令发送到终端,这将重新初始化终端并实际上执行类似于清除但也清除回滚历史记录的操作。

import subprocess
subprocess.call('reset')
于 2018-11-29T00:18:11.067 回答
0
import os

os.system('cls')

这只会清除此交互式会话中的 python 历史记录,而不会清除以前的历史记录。

于 2021-05-10T09:19:58.640 回答
0

如果您使用的是 Linux,则:

Import os  
os.system('clear')  

如果您使用的是 Windows:

Import os   
os.system('CLS')
于 2021-05-10T17:20:02.947 回答