2013-05-03 142 views
0

我使用我的python腳本pentest ,我想在新終端中調用另一個腳本。 我收到以下錯誤。Python調用另一個Python腳本

創建此終端的子進程時出錯。

如果我用空間這條線,只打開與蟒蛇殼一個新的終端,但它不看新的腳本/root/Desktop/script/WPA1TKIP.py的路徑:

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

看看這個:https://code.google.com/p/wifite/ – Blender 2013-05-03 20:32:13

+1

歡迎來到Stack Overflow。在發佈代碼時,請將其縮進四個空格以使其可讀。 – 2013-05-03 20:33:07

+0

這可能有所幫助:http://www.cyberciti.biz/faq/there-was-an-error-creating-the-child-process-for-this-terminal/ – Dogbert 2013-05-03 20:35:42

回答

3

嘗試引用命令你傳遞給-e

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

否則參數-e是ONY python,剩下的就是默默gnome-terminal忽略。

+0

mata你的解決方案是工作,「引用命令」ty – 2013-05-04 13:25:12

1

那是因爲你正在使用的命令格式錯誤,您正在運行的命令包含空格字符,所以需要引用python [filename]部分:

gnome-terminal -e "python /root/Desktop/script/WPA1TKIP.py" 

另外,不要使用os.system使用subprocess。所以你到底使用類似的命令:

subprocess.call([ '侏儒末端', '-e', '蟒/root/Desktop/script/WPA1TKIP.py'])

請注意,在這種情況下,子進程負責轉義,您只需傳遞參數/命令部分的列表。

+0

我將托盤它ty「subprocess」 – 2013-05-04 13:26:02

0

您的$PATH上沒有可執行文件python。你確定安裝了python,並且該$PATH包含相應的目錄嗎?

+0

它運行Python,但不是文件,因爲文件名被傳遞給gnome-terminal而不是python(因爲缺少引號)。 – jadkik94 2013-05-03 20:50:06

+0

你確定它運行python嗎?他引用的錯誤消息是當exec失敗時gnome-terminal打印的錯誤信息。 – 2013-05-03 20:51:02

+0

我試過了,發生了什麼事。而且,這就是OP所說的:「它只會用py shell打開一個新的終端,但它不會讀取新腳本的路徑。但也許這也是另一個問題,這只是一個猜測給予什麼... – jadkik94 2013-05-03 20:52:51

相關問題