запустить программу в новом окне оболочки из python - PullRequest
4 голосов
/ 11 сентября 2011

Я пытаюсь запустить скрипт Python из другого скрипта Python в новом окне оболочки.Пока я не могу это сделать.Кто-нибудь знает, как мне это сделать?

, например

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

, когда я запустите этот скрипт, он должен запустить 'test.py' в новом новом окне оболочки.

Я использую Linux, но будет очень полезно, если вы также можете предоставить решение для Windows.

Ответы [ 2 ]

3 голосов
/ 11 сентября 2011

Вот как вы можете это сделать на 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!

1 голос
/ 11 сентября 2011

Вместо запуска оболочки запускайте терминал, на котором работает ваш скрипт.В Linux xterm -e test.py;Я полагаю, что эквивалент Windows будет cmd.exe test.py (но я могу ошибаться).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...