2017-01-31 12 views
2

Я пишу скрипт python, который я запускаю через терминал. Я хочу открыть файл python в VIM и записать в него код. В настоящее время я использую следующий код, который получает меня в файл VIM (открывает его в редакторе VIM):Написание кода в редакторе vim из сценария python

#!/usr/bin/env python 



import ctypes 
import os 


def is_hidden(filepath): 
    name = os.path.basename(os.path.abspath(filepath)) 
    return (name) or (has_hidden_attribute(filepath)) 

def has_hidden_attribute(filepath): 
    try: 
     attrs = ctypes.windll.kernel32.GetFileAttributesW(unicode(filepath)) 
     assert attrs != -1 
     result = bool(attrs & 2) 
    except (AttributeError, AssertionError): 
     result = False 
    return result 

def main(): 
    print("found:",is_hidden('~/.jupyter')) 

    #write cd ~/.jupyter in bash terminal 
    os.system('~/.jupyter') #change to be ~/name 
    os.system('vim file') 




if __name__ == "__main__": main() 

с помощью os.system («ВИМ файл») открывает файл в Vim, и когда я бегу сценарий, я просто вижу пустой файл. Я хочу написать в этом пустом файле в скрипте python, затем сохранить и выйти.

как я могу это сделать?

+0

Какова ваша причина для желающих сделать это через Vim? Почему бы не написать файл напрямую? – FamousJameous

+0

Мне просто очень интересно, если это то, что я могу сделать. Получите доступ к vim и напишите на него. :) – Emily

+0

Я могу это уважать. К сожалению, я не знаю, как вам помочь, извините. – FamousJameous

ответ

0

Сначала попробуйте использовать командную строку. Когда это работает, вставьте код в python.
Запись в файл с

vi file <<END 
iThis line started with i for the insert mode. 
You will need an Escape to leave the insert mode. 
Difficult to write here, it will be something like ctrl-v ESC. 
It will look like ^] 
:wq 
END