我正在尝试创建一个python脚本,
1.启动一个新的终端窗口(在我的情况下是终结符)
1.在临时文件或指定文件上打开vim
1.等待直到Vim/终结器关闭
1.将文件的内容分配给变量
以下是我目前所掌握的情况:
import os, subprocess
def print_tmp(i):
with open(str(os.path.dirname(os.path.abspath(__file__))+'/tmp.tex'), 'r') as g:
return print('flag ' + str(i) + ': ' + str(g.read()))
tmpfile=str(os.path.dirname(os.path.abspath(__file__))+'/tmp.tex')
f = open(tmpfile,'w+')
f.write('$$')
f.close()
vimcmd = str("/usr/bin/terminator -g ~/.config/terminator/config -p nord --geometry 60x5+0-0 -T popup-bottom-center -e \'vim " + str(tmpfile) +"\'")
print_tmp(1)
subprocess.Popen(vimcmd,shell=True).wait()
print_tmp(2)
contents=""
with open(tmpfile, 'r') as g:
contents = g.read().strip()
print('contents = '+str(contents))
这将打开我想要的文件上的vim。然而,在调用我的vimcmd
之后,脚本并没有像我需要的那样等待。变量contents
保持为'$$'并完成脚本。我如何让python等待终止符窗口关闭?顺便说一下,我已经尝试了subprocess.run()
和subprocess.call()
,但都不起作用。提前感谢!
1条答案
按热度按时间6tdlim6h1#