2016-04-26 80 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對不起!你需要引用命令 –