如何在Python CLI程序中智能地启动默认编辑器?
在这个问题里的回答没有直接解决我想要的核心问题。在一个基于命令行的Python程序中,我希望用户能够编辑一个文件,然后再返回到程序中。在返回之前,我希望他们能够取消所做的编辑。这种感觉应该像Subversion中的提交备注编辑功能。
对于这种任务,目前有哪些最佳实践呢?
2 个回答
2
Subversion等工具使用一个叫做$EDITOR的环境变量来决定用哪个程序来编辑文本文件。当然,$EDITOR这个变量只有在类Unix系统的命令行中才能用。如果你是在Windows上,就得用不同的方法,比如用cmd /c start tempfile.txt
来打开文件;在Mac OS X上,可以用open tempfile.txt
来打开。
其实,这就是你之前问题的答案和相关答案所说的内容。
如果你只是想要能够“取消”编辑,可以先把文件做个临时副本,然后在这个副本上进行编辑。这样,你的程序就可以把临时文件的内容复制到真正的文件里,或者如果用户选择取消,就不复制。Subversion就是这样做的。