Python调用另一个Python脚本

Python调用另一个Python脚本,python,Python,我将python脚本用于pentest 我想在新的终端中调用另一个脚本。 我得到以下错误 为此终端创建子进程时出错 如果我将这一行与空格一起使用,它只会用python shell打开一个新的终端,但不会读取新脚本的路径/root/Desktop/script/WPA1TKIP.py: os.system("gnome-terminal -e python /root/Desktop/script/WPA1TKIP.py") 尝试引用传递给-e的命令: os.system("gnome-

我将python脚本用于pentest 我想在新的终端中调用另一个脚本。 我得到以下错误

为此终端创建子进程时出错

如果我将这一行与空格一起使用,它只会用python shell打开一个新的终端,但不会读取新脚本的路径
/root/Desktop/script/WPA1TKIP.py

os.system("gnome-terminal -e python /root/Desktop/script/WPA1TKIP.py")    

尝试引用传递给
-e
的命令:

os.system("gnome-terminal -e 'python /root/Desktop/script/WPA1TKIP.py'")

否则,
-e
的参数是ony
python
,其余的参数将被
gnome-terminal
忽略,尝试引用传递给
-e
的命令:

os.system("gnome-terminal -e 'python /root/Desktop/script/WPA1TKIP.py'")

否则,
-e
的参数是ony
python
,其余的参数被
gnome-terminal
忽略,这是因为您使用的命令格式不正确,您正在运行的命令包含空格字符,因此您需要引用
python[filename]
部分:

gnome-terminal -e "python /root/Desktop/script/WPA1TKIP.py"
另外,不要使用
os.system
使用
子流程
。因此,最后您将使用类似的命令:

subprocess.call(['gnome-terminal','-e','python/root/Desktop/script/WPA1TKIP.py']))


请注意,在这种情况下,子流程负责转义,您只需传递一个参数/命令部分列表。

这是因为您使用的命令格式不正确,您正在运行的命令包含空格字符,因此您需要引用
python[filename]
部分:

gnome-terminal -e "python /root/Desktop/script/WPA1TKIP.py"
另外,不要使用
os.system
使用
子流程
。因此,最后您将使用类似的命令:

subprocess.call(['gnome-terminal','-e','python/root/Desktop/script/WPA1TKIP.py']))


请注意,在这种情况下,子流程负责转义,您只需传递参数/命令部分列表。

$PATH
上没有名为
python
的可执行文件。您确定安装了python,并且
$PATH
包含适当的目录吗?

您的
$PATH
上没有名为
python
的可执行文件。您确定安装了python,并且
$PATH
包含适当的目录吗?

请看一下:欢迎使用堆栈溢出。在发布代码时,请将其缩进四个空格以使其可读。这可能会有帮助:您是否想过接受任何答案?请看以下内容:欢迎使用堆栈溢出。发布代码时,请将其缩进四个空格以使其可读。这可能会有帮助:您考虑过接受任何答案吗?它确实运行Python,但不运行文件,因为文件名传递给gnome terminal而不是Python(因为缺少引号)。您确定它运行Python吗?他引用的错误消息是gnome终端在exec失败时打印的。我试过了,结果就是这样。另外,OP说:
它只使用python shell打开一个新的终端,但不读取新脚本的路径。但也许这也是另一个问题,这只是一个猜测,给出了什么…对,但他反驳说,“我得到了错误”为这个终端创建子进程时出错“。要么他得到了错误,要么他得到了python shell,但他不可能从对
os.system()
的同一个调用中同时得到这两个。你能得到OP描述的错误消息吗?当然,他需要正确引用
-e
参数,否则他只会得到一个python shell。它确实运行python,但不运行文件,因为文件名传递给gnome终端,而不是python(因为缺少引号)。你确定它运行python吗?他引用的错误消息是gnome终端在exec失败时打印的。我试过了,结果就是这样。另外,OP说:
它只使用python shell打开一个新的终端,但不读取新脚本的路径。但也许这也是另一个问题,这只是一个猜测,给出了什么…对,但他反驳说,“我得到了错误”为这个终端创建子进程时出错“。要么他得到了错误,要么他得到了python shell,但他不可能从对
os.system()
的同一个调用中同时得到这两个。你能得到OP描述的错误消息吗?是的,当然,他需要正确引用
-e
参数,否则他只会得到一个python shell。我会把它放到ty“subprocess”我会把它放到ty“subprocess”上