首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >IPython:如何有选择地、安全地清除IPython的历史?

IPython:如何有选择地、安全地清除IPython的历史?
EN

Stack Overflow用户
提问于 2013-10-26 19:43:04
回答 6查看 15.8K关注 0票数 38

我一直在学习如何使用paramiko包,结果却发现我所有的密码都是以纯文本形式存储在IPython的%hist中的。不怎么好。

因此,我需要删除存储在%hist中的特定部分。说到这里,我不想抹掉整个历史。-只有我粗心大意地键入password =或类似选择的术语的部分。

谢谢

我不需要的评论:

  • %clear仅清除会话。它不会擦除历史记录。
  • 是。从现在开始我只使用xSA_keys。
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2013-10-26 20:40:56

默认情况下,历史记录存储在$(ipython locate)/profile_default/history.sqlite上。您可以删除文件,或对其执行任何您想要的操作(安全擦除等)。它是一个sqlite文件,因此您可以使用任何sqlite程序加载它并对其进行查询。

检入$(ipython locate)/profile_default/和其他$(ipython locate)/profile_xxx,确保您没有任何其他历史文件。$(ipython locate)通常是~/.ipython/,但也可以不同:

代码语言:javascript
运行
复制
ls $(ipython locate)/profile_*/*.sqlite
票数 41
EN

Stack Overflow用户

发布于 2016-08-20 04:44:51

一种解决方案是:

代码语言:javascript
运行
复制
sqlite ~/.ipython/profile_default/history.sqlite

delete from history where source like '%password =%';
票数 25
EN

Stack Overflow用户

发布于 2018-07-06 05:09:56

结合@Ovidiu Ghinetanswer@Mattaccepted answer

代码语言:javascript
运行
复制
sqlite $(ipython locate)/profile_*/*.sqlite || sqlite3 $(ipython locate)/profile_*/*.sqlite

然后在sqlite控制台中:

代码语言:javascript
运行
复制
delete from history where source like '%password%';
select * from history; /* confirm that no passwords left        */
.quit                  /* forgot how to exit sqlite console? ;) */
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19606275

复制
相关文章

相似问题

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