6

レジストリキーを使用してドロップ可能にしたPythonスクリプトがありますが、機能していないようです。cmd.exeウィンドウが点滅するだけですが、どういうわけかウィンドウを開いたままにするか、出力を保存できますか?

編集:問題は、ファイル名だけでなくパス全体が表示されることでした。

4

5 に答える 5

6

これに対する純粋な Python ソリューションが必要な場合は、スクリプトを try/except 句でラップする必要があります。

import traceback
try:
    ... your script ...
except:
    traceback.print_exc()

raw_input("Press Enter to close") # Python 2
input("Press Enter to close") # Python 3

このようにして、コードが例外をスローした場合でも、ウィンドウは開いたままになります。Python がスクリプトを解析できない場合、つまり構文エラーがある場合は閉じます。それも修正したい場合は、より快適な方法で開発できる優れた IDE をお勧めします ( PyCharmPyDevが思い浮かびます)。

于 2012-07-24T09:32:37.567 に答える
2

スクリプトの最後に次の行を挿入します。

raw_input("Press Enter to close") # Python 2

また

input("Press Enter to close") # Python 3
于 2012-07-24T09:24:52.247 に答える
1

もう1つの可能なオプションは、テキストエリアと閉じるボタンを備えた基本的なTKinterGUIを作成することです。次に、それをサブプロセスまたは同等のもので実行します。で実行されたPythonスクリプトからstdoutを取得してpythonw.exe、CMDプロンプトがで始まるように表示されないようにします。

これにより、Python stdlibを純粋に使用できるようになり、GUIを使用してオプションを設定したりパラメーターを入力したりできるようになります...

ただのアイデア。

于 2012-07-24T09:41:13.633 に答える
1

スクリプトを右クリックして、そのプロパティで Program->Close on exit チェックボックスを削除するかcmd /k、呼び出し行の一部として使用します。

人為的な遅延を導入したり、キーを押す必要がある前に、よく考えてください。これにより、無人/パイプ呼び出しでスクリプトがほとんど使用できなくなります。

于 2012-07-24T09:52:58.867 に答える
1

スクリプトの実行が終了すると、ウィンドウが閉じます。

それを開いたままにしておくための 1 つのトリックは、raw_inputなどを介して、ユーザーに何らかの入力を求めることです。


だからあなたはただ追加することができます

raw_input()

をスクリプトの最後に追加して、ユーザーが を押すのを待ちますEnter

于 2012-07-24T09:25:11.280 に答える