我需要一種方法從外部編輯器獲取數據。從外部程序獲取數據
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