2016-08-03 2 views
1

Pythonコード内からプログラム/ GUIを起動しようとしています。Pythonでos.system()を使用すると、起動したプログラムのウィンドウが表示されません

端末からは、プログラム名を入力するだけで起動することができます。いくつかの行が端末に出力され、別のウィンドウがGUIで開きます。

Iは、上述したように、典型的な出力線が、コンソールに出力を取得

os.system("<program name>") 

を実行することにより、Pythonでこれをエミュレートしようとしたが、何のウィンドウがGUIで開きません。

独自の別ウィンドウがあるプログラムを実行するためにos.system()を使用できますか?ここで

+0

より柔軟なプロセス作成のための['subprocess'](https://docs.python.org/3/library/subprocess.html)モジュールを見てください。 – Kupiakos

+0

私はちょうど 'os.system( 'subl test.txt')'を走らせました。そしてそれは普通のようにGUIを開きました。参考のため、Windows 10でPython 3.5.1を実行する。私は質問を誤解しているかもしれませんが。 – dashiell

答えて

1

Python manualから:

[os.system ]は、標準C関数を呼び出すことによって実装されます system()

つまり、os.systemでGUIアプリケーションを起動する際に問題はありません。私はちょうどそれを自分で試して、それは正常に動作します。

また、マニュアルに言及:

subprocessモジュールは 新しいプロセスを生成し、その結果を取得するためのより強力な機能を提供します。そのモジュールを使用することは、この機能を使用することよりも好ましい です。

多分それは試してみる価値があります。他のGUIアプリケーションは、os.systemでスポーンすると動作しますか?

+0

これは、突然私は(全く新しいファイルやノーチラスをロードできないなどの他の重要な問題の中で)プログラムを読み込むことができないので、より大きな(より恐ろしい)問題に関連しているようです。ありがとう、私はそれが今動作するはずです知っているよ! – hm8

0

subprocess

import subprocess 

subprocess.Popen("notepad.exe") 

それとも、特定の通訳でPythonのプログラムを実行する場合を使用してソリューションです:

subprocess.Popen('{0} {1}'.format(PythonInterpreterPath,PythonFilePath.py)) 
関連する問題