如何将python变量传递给gnome-terminal命令选项?我想用一个特定的命令打开多个终端。
下面是我想要做的代码(示例):
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c \"'cmd' ; exec bash\"'")但是它不能工作,因为shell试图解释命令"cmd“(bash : cmd: command not found)
你能帮帮我吗?
谢谢你们
发布于 2017-01-27 19:12:46
您可以使用format将变量替换为字符串:
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c \"'{}' ; exec bash\"'".format(cmd))发布于 2017-01-27 19:16:01
我认为您传递的是字符串"cmd“,而不是变量cmd = "echo OK"。试试这个。
cmd = "echo OK"
os.system("gnome-terminal -e 'bash -c " + cmd + " ; exec bash'")EDIT>
也许subprocess模块可以帮助你。试试这段代码。
import subprocess
cmd_line = "echo Hello!"
p = subprocess.Popen(cmd_line, shell=True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
out = p.communicate()[0]
print outhttps://stackoverflow.com/questions/41892602
复制相似问题