Os.system不退出

1 投票
1 回答
1201 浏览
提问于 2025-04-17 06:16

我正在做一个基于Python的tkinter脚本,流程大致是这样的:

在Unix终端中,可以通过指定脚本名称和参数来运行一个csh脚本。然后,我写了一个Python脚本,让用户在图形界面(GUI)中输入脚本名称和参数。接着,Python脚本需要在用户点击“运行”按钮时执行这个脚本。

我现在运行的代码是这样的:

def run():
  os.system('./script_file')

这个代码能够正常执行... 唯一的问题是:执行结束后,控制权没有回到Python脚本。终端里只是一直等待,或者光标一直在闪烁,好像还有什么在执行(我确定执行已经结束了)。

请建议一下如何让控制权回到Python脚本。

1 个回答

2

我觉得在这里使用子进程会更好,这样你可以控制输入、输出和错误信息,还能获取一个可以在Python中再次捕获的退出代码。

http://docs.python.org/library/subprocess.html

撰写回答