我成功找到了一段代码,可以从Python脚本中生成一个临时文件并启动vim编辑器。这段代码在这里,我在这里找到它:call up an EDITOR (vim) from a python script
import sys, tempfile, os
from subprocess import call
EDITOR = os.environ.get('EDITOR','vim')
initial_message = ""
with tempfile.NamedTemporaryFile(suffix=".tmp") as tempfile:
tempfile.write(initial_message)
tempfile.flush()
call([EDITOR, tempfile.name])
我遇到的问题是,编辑器退出后我无法访问临时文件的内容。
tempfile
<closed file '<fdopen>', mode 'w+b' at 0x87c47b0>
tempfile.readline()
I get
ValueError: I/O operation on closed file
我做了:
myfile = open(tempfile.name)
IOError: [Errno 2] No such file or directory: '/tmp/tmp7VKzfl.tmp'
编辑器修改文件后,我该如何在Python脚本中访问该文件?
谢谢。
delete=False
(请参见被接受的答案)。无论如何,我会保留我的答案,因为它展示了解决问题的另一种有效方法。 - codeape