Открытие vi из Python

Я хочу воспроизвести функциональность, которая происходит, когда вы делаете что-то вроде «git commit». Он открывает ваш редактор, и вы вводите что-то, а затем сохраняете/выходите, чтобы передать этот файл обратно сценарию, который запустил редактор.

Как мне реализовать эту функциональность в Python?

РЕДАКТИРОВАТЬ:

Спасибо за предложения, вот рабочий пример, основанный на ответах:

import os, subprocess, tempfile

(fd, path) = tempfile.mkstemp()
fp = os.fdopen(fd, 'w')
fp.write('default')
fp.close()

editor = os.getenv('EDITOR', 'vi')
print(editor, path)
subprocess.call('%s %s' % (editor, path), shell=True)

with open(path, 'r') as f:
  print(f.read())

os.unlink(path)
5
задан Scott Frazer 12 April 2012 в 18:45
поделиться