2016-04-26 85 views
1

我想运行与控制台 一个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]) 

这是可能的?

坦克的

+0

不完全确定你在问什么。也许你正在寻找[subprocess]模块(https://docs.python.org/3.5/library/subprocess.html)? –

回答

1

为此,可以使用该子模块实现。

import subprocess 

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

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

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()已过时。

+0

我使用,enigma2,上框,此插件E2 –

+0

没有工作.. 代码 高清更新(个体经营): \t \t使用os.system(“的gnome-terminal -e SH /usr/script/update.sh “) –

+0

@paolozanone对不起!你需要引用命令 –