Python调用另一个Python脚本
我将python脚本用于pentest 我想在新的终端中调用另一个脚本。 我得到以下错误 为此终端创建子进程时出错 如果我将这一行与空格一起使用,它只会用python shell打开一个新的终端,但不会读取新脚本的路径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-
/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
的参数是onypython
,其余的参数将被gnome-terminal
忽略,尝试引用传递给-e
的命令:
os.system("gnome-terminal -e 'python /root/Desktop/script/WPA1TKIP.py'")
否则,
-e
的参数是onypython
,其余的参数被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”上