python - 从 Python CLI 程序中智能启动默认编辑器?

标签 python editor

this question 中的答案没有触及问题的核心。在基于 CLI 的 Python 程序中,我希望用户能够编辑文件然后返回到程序。在返回之前,我希望他们能够取消他们的编辑。这应该感觉像 Subversion 中的提交注释编辑功能。

当前针对此类任务的最佳做法是什么?

最佳答案

您可以尝试查看 Mercurial 的源代码,它是用 Python 编写的。

他们使用os.environ读取环境变量HGEDITORVISUALEDITOR的值,默认为 vi。然后他们使用 os.system 在使用 tempfile.mkstemp 创建的临时文件上启动编辑器。编辑完成后,他们会阅读文件。如果其中有任何真实内容,则操作继续,否则,它会中止。

如果你想看看 Mercurial 是如何做到的,详情在 ui.py 中。和 util.py .

关于python - 从 Python CLI 程序中智能启动默认编辑器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1856792/

相关文章:

bash - 如何以安全的方式调用 "EDITOR"环境变量来打开/编辑文件?

intellij-idea - Intellij 14 奇怪的编辑器/光标行为

css - 乔姆拉。编辑器在里面添加带有 css 规则的标签,我只想要标签!

vim - 如何固定窗口大小?

python - 表单字段API?

python - numpy,转置是一种观点,不会使矩阵对称?

python - 使用 Pyglet 截图 [已修复]

python - 合并 Pandas 中的连续行并保留一些行不变

android - 无法打开编辑器 : The editor class could not be instantiated

python - 大量递归请求的 Tornado 超时