簡體   English   中英

從python啟動新shell窗口中的程序

[英]launch program in new shell window from python

我試圖在新的shell窗口中從另一個python腳本啟動python腳本。 到目前為止我無法做到。 有誰知道我怎么能做到這一點?

例如

import subprocess
process = subprocess.Popen('test.py', shell=True, stdout=subprocess.PIPE)
process.wait()
print (process.returncode)

當我運行這個腳本時,它應該在一個新的shell窗口中啟動'test.py'。

我正在使用linux,但如果你也可以為windows提供解決方案,那將非常有用。

以下是如何在類似Debian的系統上執行此操作:

import subprocess
import shlex
process = subprocess.Popen(
    shlex.split("""x-terminal-emulator -e 'bash -c "test.py"'"""), stdout=subprocess.PIPE)
process.wait()
print (process.returncode)

類似的東西應該適用於任何* nix系統。

非常感謝eudoxos指出x-terminal-emulator

啟動運行腳本的終端,而不是啟動shell。 在Linux上, xterm -e test.py ; Windows等效的將是cmd.exe test.py我相信(但我可能是錯的)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM