4

ラボでさまざまな機器を制御するための Python ユーザー インターフェイスをプログラミングしています。スクリプトがインタラクティブに実行されない場合、インストゥルメントとの接続がスクリプトの最後で失われ、非常に問題が発生する可能性があります。ユーザーがスクリプトを対話的に実行することを「覚えている」ようにしたい。

私はそれを行うために2つの可能な方法を考えています。まず、タイトルで指定されているように、次のエイリアスを作成できますrun -i

%alias_magic lab_run run -i

しかし、これはエラーを返します:

UsageError: unrecognized arguments: -i 

これを回避する方法はありますか?

または、フラグが渡された場合はスクリプト内で検出し、-iそうでない場合はエラーを発生させることもできます。ただし、sys.argvリストには表示されません。

In [1]: import sys
In [2]: run -i test.py random args
['test.py', 'random', 'args']

以前の質問で説明したように、%run フラグを読み取る必要があるため、ipy ファイルを使用できません: How to add a custom flag to IPython's magic commands? (.ipy ファイル)

誰でもこの問題の解決策を見ますか?

4

2 に答える 2