0

簡単なはずのことを理解するための適切なGoogle検索が見つからないようです。

wxPython を使用して GUI を作成し、Python ファイルを .pyw として保存しているため、コンソールがありません。次に、ユーザーがアクションを実行したときに、別の .py ファイルをメイン ウィンドウにインポートしています。そうすることで、閉じない pythonw.exe インスタンスが作成されました。明確にするために、実行中に最初のファイルから他の .py ファイルを開いたり挿入したりしないと、メイン コンソールのみを開いた場合に開く .pyw がプロセスからクリアされます。

プログラムを使用するときはすべて問題ありませんが、Windowsの「X」ボタンを使用して閉じると、プロセスでまだpythonw.exeが表示され、エラーを出力しているファイルは他の何かが使用しているためロックされています( pythonw.exe)。Python が完全に終了していることを確認するには、どのコードを使用する必要がありますか? また、ファイルをビルドするたびに残っているようです-終了し、他のモジュールを挿入した場合にのみプロセスにとどまります(ユーザー入力でのみ行われます)

また、これは明らかかもしれませんが、インポートしたファイルを手動で開くと、ファイルを閉じると python.exe が閉じるため、同じ動作になります。

4

1 に答える 1

0

アプリケーションを終了する場合は、次のようにします。

import os
os._exit(0)

これは、バックグラウンド スレッドが実行されているために、通常の exit() またはメイン ファイルの末尾に到達できない場合に機能します。

しかし、実行中のすべてのスレッドを強制終了しています。問題の原因となっているインポートされたファイルのコードを調べて、スレッドがあるかどうかを確認する必要があります。

于 2021-10-17T07:37:09.420 に答える