Я хочу воспроизвести функциональность, которая происходит, когда вы делаете что-то вроде «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)