我想要使用控制台运行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 :(得分:1)
您可以使用子进程模块实现此目的。
import subprocess
subprocess.call(["gnome-terminal", "-x", "sh", "/usr/script/update.sh"])
在这个例子中,我使用“gnome-terminal”作为终端模拟器。在您的系统上,您可能没有此模拟器,您应该将其替换为您使用的模拟器(例如Konsole for KDE)。 在打开模拟器时,您还必须找到适当的参数(在本例中为“-x”)来执行命令。
答案 1 :(得分:0)
要完成此操作,您可以使用subprocess
或os.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()
已过时。