控制台在新窗口中

时间:2016-04-26 16:09:48

标签: python shell console

我想要使用控制台运行python文件的命令 在一个独立的窗口

我的代码:

def update(self):
        self.prombt("sh /usr/script/update.sh")
        self.close(None)

    def prombt(self, com):
        self.session.open(Console,_("sTaRt ShElL cOm: %s") % (com), ["%s" % com])

有可能吗?

罐的

2 个答案:

答案 0 :(得分:1)

您可以使用子进程模块实现此目的。

import subprocess

subprocess.call(["gnome-terminal", "-x", "sh", "/usr/script/update.sh"])

在这个例子中,我使用“gnome-terminal”作为终端模拟器。在您的系统上,您可能没有此模拟器,您应该将其替换为您使用的模拟器(例如Konsole for KDE)。 在打开模拟器时,您还必须找到适当的参数(在本例中为“-x”)来执行命令。

答案 1 :(得分:0)

要完成此操作,您可以使用subprocessos.system()

无论你使用哪一个,bash命令都是:

gnome-terminal -e sh /usr/script/update.sh

代表subprocess

import subprocess
subprocess.call(["gnome-terminal", "-x", "sh", "/usr/script/update.sh"])

用于' os.system()'

import os
os.system("gnome-terminal -e "sh /usr/script/update.sh"")

建议您使用subprocess.call()进行比简单命令更复杂的操作,因为os.system()已过时。