这里有python noob,但尝试学习
我正在尝试启动一个新的终端窗口,该窗口从python脚本在端口7777上运行一个netcat侦听器。
我尝试过...
import os
netcat = '--command \"nc -nvlp 7777\"'
print ("Starting listener on port 7777")
from subprocess import call
call(['xfce4-terminal', netcat])
和
from subprocess import call
call(['xfce4-terminal', '--command', '"nc -nvlp 7777"')]
但没有骰子。第二个示例实际上将启动终端并查找命令,但不执行netcat“ argument”。
这似乎是由于使用--command
要求我的netcat参数必须用引号引起的。
提前感谢所有帮助
答案 0 :(得分:0)
咨询朋友后,我们找到了可行的解决方案。
我们最终将整个命令(使用netcat调用终端)放入变量中,然后像这样将变量传递给call()
...
import os
netcat = 'xfce-terminal --command "nc -nvlp 7777"'
print ("Starting listener on port 7777")
from subprocess import call
call(netcat,shell=True)
您会注意到,即使有警告,我们也必须使用shell=True
。