2016-03-29 26 views
0

スクリプトの実行中にコンソールを非表示にするにはどうすればよいですか?別の関数を作成したいのですが(os/sysからいくつかのメソッドを適用すると、わかりません)、スクリプトの拡張子を.pyから.pywに変更するなどの解決策は必要ありません。Windowsでスクリプトを実行中にコンソールを非表示にする

python myfile.py & 

あなたのコンソールを閉じて、バックグラウンドでプロセスの実行を持つことができるようにしたい場合は、あなたは可能性があります:あなたが最後に&を追加することにより、バックグラウンドでのpythonプログラムを実行することができます

+0

あなたはどのようなOSを使用していますか? – martineau

+0

@martineau、Windows 8、結果としてnohupや&don'tは意味をなさない – Genessis

+0

私はあなたがそれをすることができないことを願っています。他のタブが開いている端末エミュレータでスクリプトを実行するとどうなりますか?他のタブも隠されますか? – Goyo

答えて

1

デフォルトはpython.exeです。あなたのスクリプトに、通常のショートカットを作成

  1. まず:

    ただ、これらの3つの手順に従ってください。これを行う方法の1つは、エクスプローラウィンドウに表示されるスクリプトファイルのアイコンをデスクトップなどのショートカットの場所にドラッグし、マウスボタンを離すときにAltキーを押したままにすることです。

  2. 作成したばかりのショートカットを右クリックし、ポップアップメニューからPropertiesを選択します。
  3. プロパティショートカットのダイアログが表示されます。それにはC:\python27\pythonw.exeとスクリプトファイルのパスの前にスペースを挿入します。 スクリプトへのパスにスペースが含まれている場合は、二重引用符で囲む必要があります。別のバージョンのPythonを使用している場合は、それに応じてPython27も変更する必要があります。

    すなわちD:\path with spaces in it to\myscript.pyの目標は、あなたが希望する場合にも、ここでショートカットのアイコンを変更することができますC:\Python27\pythonw.exe "D:\path with spaces in it to\myscript.py"

    を変更する必要があります。

ここでは例です:

screenshot of filled in shortcut properties dialog

+0

ここでウェブ検索を行っている人にとって、ウィンドウを最小化することは、それを隠すことと同じではありません。実際にコンソールを隠そうとしているのであれば、質問自体についての私のコメントを見てください。私はこの回答のアドバイスに対して何もしていませんが、superuser.comにはもっと適していると思います。明らかに、OPはコンソールウィンドウを最小限に抑えることで満足していますが、シェルのショートカットを作成するために 'win32com'を使用する方法が示されていれば、この答えはより良いでしょう。 – eryksun

+0

@eryksun:実際には、何かが最小化されたショートカットを作成するのは、本当に秘密のソースではありません。実際のトリックは、特定のPythonスクリプトで 'pythonw.exe'(コンソールを持たない)を実行させることです。そういう意味で、私の答えは誤解を招きます。 'win32com'を使ってショートカットを作成すると、スクリプト自体がコンソールを持っているので動作しません...だから、鶏と卵の問題があるようです。このようなことがスクリプトそのものの中でどのようにできるのかは、私にとっては不透明です。 – martineau

+0

pythonw.exeを使用したことに気付かなかった。私はOPがそのルートに行きたくないと思っていました。なぜなら、.pywの使用は除外されていたからです(システムが正しく構成されていると仮定すると、事実上同じです)。しかし、明示的にコマンドラインを渡す代わりに、.pywを使用すると、 'ShellExecuteEx'が.pywの関連付けを検索し、pythonw.exe(またはpyw.exe)でスクリプトを実行します。 – eryksun

0

nohupをチェックアウトしたい:

私は、Windows 7上でそれをやった方法の代わりに、何のコンソールを持っていないpythonw.exe通訳、と私のスクリプトを実行するショートカット(またはリンク)を行うことであるhttp://linux.die.net/man/1/nohup

関連する問題