os.system() と subprocess.call() を使用してコンソールを非表示にする
os.system() または subprocess.call() を使用する) は、Python スクリプト内からシステム コマンドを実行する場合に便利です。ただし、これらの機能を実行するとコンソール ウィンドウがポップアップ表示されることが多く、これは望ましくない場合があります。この動作を抑制するには、いくつかの手法があります。
STARTUPINFO 構造体の使用
subprocess.STARTUPINFO クラスは、サブプロセスの起動動作を制御します。 STARTF_USESHOWWINDOW フラグを設定し、ショー ウィンドウ フラグとして SW_HIDE を指定すると、コンソール ウィンドウが作成されないようにすることができます。
import subprocess si = subprocess.STARTUPINFO() si.dwFlags |= subprocess.STARTF_USESHOWWINDOW si.wShowWindow = subprocess.SW_HIDE subprocess.call('taskkill /F /IM exename.exe', startupinfo=si)
作成フラグの使用
または、次のようにします。サブプロセス呼び出しの作成フラグを設定して、ウィンドウを明示的に無効にすることができます作成:
import subprocess from ctypes import windll subprocess.call('taskkill /F /IM exename.exe', creationflags=windll.kernel32.CREATE_NO_WINDOW)
子プロセスの切り離し
子プロセスをコンソールから完全に切り離すには、DETACHED_PROCESS フラグを使用できます:
import subprocess from ctypes import windll subprocess.call('taskkill /F /IM exename.exe', creationflags=windll.kernel32.DETACHED_PROCESS)
このメソッドは、子のコンソール ハンドルを削除し、親のコンソール ハンドルを継承しないようにします。コンソール。
以上がPython でシステム コマンドを実行するときにコンソール ウィンドウがポップアップしないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。