2015-01-16 2 views
1

Я новичок в программировании вообще, и с питоном в частности ...запустить Vim из питона сценария и конец сценария

Я пытаюсь написать питон скрипт, запущенный из Linux терминала, с файл «латекс» в качестве аргумента:

my_script.py file.tex. 

Я хотел тогда my_script.py открыть file.tex в Vim (в терминале), запустить другой сценарий и затрудняет установку затем закрыть, оставив «file.tex» открыт в vim и скрипт компиляции, работающий в фоновом режиме.

Итак, я попробовал:

myfile = "file.tex" 
subprocess.call("vim "+ myfile) 
subprocess.call("Latex_compiling_commande "+myfile) 

но my_script.py все еще ждет Vim, чтобы закрыть, прежде чем продолжить, что exaclty, что subprocess.call должен делать, как описано в: official python doc.

Я пробовал:

subprocess.Popen(["vim", myfile]) 

У меня есть 'вход/ошибка Ouput' ...

Спасибо заранее.

+0

Вы, вероятно, следует просто позвонить ВИМ неинтерактивно. См. Пример [здесь] (http://stackoverflow.com/a/18865698/429982) – Gerrat

+0

Спасибо за ваш комментарий; но я хочу использовать vim со всеми его специальными возможностями (plug-in-latex-suite, сопоставлениями, ...) – Gylles

ответ

0

Попробуйте с:

import os 
os.system("command") 

Для подпроцесса увидеть это link

+0

Спасибо invictus за ваш ответ. 'os.system ("commad")' делает то же самое: vim open 'file.tex'; Я могу редактировать файл, сохранять его, делать все, что захочу; только после закрытия vim my_script.py продолжает команду компилятора. – Gylles

+0

Спасибо за ссылку; Я уже проверил его, но я думаю (насколько я понял) мой вопрос немного другой: что содержит файл file.tex, никак не взаимодействует с 'my_script.py' – Gylles

+0

Что я действительно не понимаю, это: 'os.system (« Latex_compiling_command »+ myfile)', за которым следует 'os.system (« vim »+ myfile)' отлично работает ... (my_script.py заканчивается только при закрытии vim). Есть ли способ запустить vim, затем команду компиляции Latex, а затем закрыть my_script.py (оставить файл.tex открытым в vim в терминале)? – Gylles

Смежные вопросы