设置是这样的:
init.bat会做一些事情然后调用python app.py -i
。
app.py是该程序的核心,根据用户输入,它最终可能会在终端上运行所有类型的程序。
大多数命令都是以用户继续输入命令的方式结束,但还有其他命令我想在完成任务后关闭终端。
示例:
用户输入命令:>>> dostuff
,用于在完成后关闭终端。
app.py处理它:
def dostuff():
#here's the issue.
#i want it to run a program and close the terminal
#but since it's on interactive mode, it will stay open after processing the command.
print('doing some stuff')
os.system('.\stuff.bat')
# exits...
stuff.bat:
@echo i'm gonna do some stuff and close the terminal
rem ...stuff
rem ...stuff
:: exits...
此时,终端应该关闭,但交互模式可以防止这种情况发生。
我希望我的解释清楚。我需要的是一种强制程序在某些命令后运行并退出的方法,或者在不退出当前正在执行的程序的情况下开启/关闭toogle交互模式的方法,但我不确定将终端设置为交互模式后如何实现。
答案 0 :(得分:0)
我假设你可以控制python返回的退出代码。
如果要继续,只需让python返回0,如果要退出,则返回1。然后在INIT.BAT中修改对python的调用,如下所示:
python app.py -i || exit