WindowsでPythonスクリプトを実行する方法はありますかXPコマンドシェルが一時的に表示されることはありませんか?PythonでWordPerfectを自動化する必要があります)また、スクリプトに出力がない場合でも、WPなしで実行すると、消える前に空のシェルが1秒間ポップアップします。これを防ぐ方法はありますか?たぶん?
pythonw.exeは、コマンドプロンプトなしでスクリプトを実行します。問題は、PythonインタープリターであるPython.exeがコンソールサブシステムにリンクされてコンソール出力を生成することです(ケースの90%であるため)-代わりに、pythonw.exeがGUIサブシステムにリンクされます。 Windowsは、要求されない限り、コンソール出力ウィンドウを作成しません。
この記事 PythonでのGUIプログラミングについて説明し、pythonw.exeを暗示しています。また、Pythonファイルが.pyw
の代わりに.py
で終わる場合、標準のWindowsインストーラーが関連付けを正しく設定し、Pythonを実行することも指摘します。 pythonw.exeで。
あなたの場合、それは問題のようには聞こえませんが、pythonw.exeに依存することで、アプリケーションはWindows固有になります。たとえば、Mac OS Xでこれを実現する他のソリューションが存在します。
ファイルに「.pyw」拡張子を付けて名前を付けると、windowsはpythonw.exeインタープリターを使用してそれらを実行します。これは、スクリプトを実行するためのDOSコンソールを開きません。
上記の方法を試しましたが、スクリプトのタイマーのためにコンソールがすぐに表示され、すぐに消えます。最後に、次のコードを見つけました。
import ctypes
import os
import win32process
hwnd = ctypes.windll.kernel32.GetConsoleWindow()
if hwnd != 0:
ctypes.windll.user32.ShowWindow(hwnd, 0)
ctypes.windll.kernel32.CloseHandle(hwnd)
_, pid = win32process.GetWindowThreadProcessId(hwnd)
os.system('taskkill /PID ' + str(pid) + ' /f')