python - Windows 版 Python 中的控制台输入历史记录存储在哪里?

标签 python windows python-2.x

下午好,

问题

对于 Windows 版本的 Python,条目是否存储在特定位置,或者只是一组本地存储变量?

背景

我很好奇 Python.exe 存储从命令行输入的条目的位置,而不是 Tkinter GUI。我对此特别感兴趣,因为我注意到如果您输入 raw_input(),则可以诉诸以前的条目。关于 raw_input()input() 接收某种可编辑的默认参数已经有很多讨论。

看。 This link to a related SO question

显然,这对于 Linux/GNU 来说是非常可行的,其模块允许您利用 Bash 的格式。 Windows 用户在这方面就不幸了。

有关这些模块的注释:

readline 基于 GNU,在 Windows 中无法正常工作。

pyreadline 对命令行解释器没有好处。

curses 基于 GNU,在 Windows 中根本不起作用。

跟进

我得出的结论是,如果为用户提供了一组预定义的条目,您可以限制输入到命令空间的内容。

<小时/>

附注- 我知道创建一个 PySide、Tkinter 或“其他”的 GUI 来解决我的问题要容易得多。

詹姆斯爵士

最佳答案

在 Windows 7 上,使用标准 Python 3.7 命令解释器(不是 IPython 或 IDLE),命令历史记录存储在文件 %USERPROFILE%\.python_history 中。此位置不用于 Python 2.7.x,因为 Python 命令历史记录功能是从 Python 3.4 开始引入的。

关于python - Windows 版 Python 中的控制台输入历史记录存储在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42305490/

相关文章:

python - 我无法使用 python 将空字符串转换为整数

ruby-on-rails - 使用 Windows 为 Ruby on Rails 启动脚本/控制台

python - 将两个变量与 'is' 运算符进行比较,这两个变量在 Python 的一行中声明

javascript - 数据从 HTML 文本输入传递到 python 脚本

python - botocore.errorfactory.InvalidS3ObjectException

android - 蓝牙 RFCOMM 连接 : read serial data from com port in Windows 7

java - Java 可以充当命名管道服务器吗?

python-2.x - 如何在 Python 2.x 中合并两个 argparse 命名空间?

python - listdir 不能正确打印非英文字母

python - 属性 fset 函数没有被调用