我需要一种方法从外部编辑器获取数据。从外部程序获取数据
def _get_content():
from subprocess import call
file = open(file, "w").write(some_name)
call(editor + " " + file, shell=True)
file.close()
file = open(file)
x = file.readlines()
[snip]
我个人认为应该有更优雅的方式。你看,我需要与外部编辑器交互并获取数据。
你知道更好的方法/有更好的想法吗?
编辑:
马塞洛给我带来了使用上的tempfile
这样做的想法。
这里是我如何做到这一点:
def _tempfile_write(input):
from tempfile import NamedTemporaryFile
x = NamedTemporaryFile()
x.file.write(input)
x.close()
y = open(x)
[snip]
这做工作,但也不太令人满意。 听说有关产卵的东西吗?
你的问题是相当模糊。你究竟想要达到什么目的?你觉得这种方法有什么不好的地方?是“我需要用户输入一些文本并将该文本作为字符串”?是“我需要用户编辑一个预先存在的文件”?你在问如何产生一个新的编辑器进程或如何从用户那里获得输入? – RarrRarrRarr 2010-04-05 05:34:41
我正在讨论来自用户的输入。 :)我承认丑陋不是正确的词......也许是说,我正在寻找一个更优雅的方式来做这件事(如果有的话)。 – 2010-04-05 22:05:20