5

私はPythonで小さなCLIを書いています(cmdモジュールの助けを借りて)。os.system現在、すべてのオカレンスをに置き換えようとしていsubprocess.callます。

私が直面している問題は、外部スクリプトを で実行すると、サブシェルのみが終了したos.system後にCTRL-C終了することです (CLI に戻ります)。subprocess.callと hitを使用して同じスクリプトを実行するとCTRL-C、スクリプトと CLI の両方が実行を終了します。

os.systemで動作を模倣する方法はありsubprocess.callますか?

4

1 に答える 1

5

例外ハンドラーを使用して、Python でキーボード割り込みをキャッチできます。

try:
    retcode = subprocess.call(args)
except KeyboardInterrupt:
    pass # ignore CTRL-C
于 2013-09-11T11:41:12.073 に答える