清除python控制台命令历史记录

时间:2018-11-29 00:15:45

标签: python

我在Mac上使用anaconda,我想知道是否有一种方法可以清除我的python命令历史记录。具体来说,在终端中调用chnk_size=4*1024*1024 f=File.open(fn, 'rb') until f.eof? chnk=f.read(chnk_size) # process the chnk end 时,我想清除在此之前键入的任何内容。

6 个答案:

答案 0 :(得分:1)

假设您想清除命令历史记录,当您按下上下箭头键时,Python会通过该历史记录,该历史记录由GNU readline库或libedit管理,具体取决于您的系统。 Python readline模块是基础库的Python级接口(即使该库是libedit),在基础库支持的系统上,您可以使用readline.clear_history清除历史记录:< / p>

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

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

答案 1 :(得分:0)

转义序列?

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

或者

import os
os.system('cls' if os.name == 'nt' else 'clear')

答案 2 :(得分:0)

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

import subprocess
subprocess.call('reset')

答案 3 :(得分:0)

import os

os.system('cls')

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

答案 4 :(得分:0)

如果您使用的是 Linux,则:

Import os  
os.system('clear')  

如果您使用的是 Windows:

Import os   
os.system('CLS')

答案 5 :(得分:0)

如果您的系统不使用 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')。