ラボでさまざまな機器を制御するための 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 ファイル)
誰でもこの問題の解決策を見ますか?