我正在編程一個python用戶界面來控制實驗室中的各種儀器。如果腳本不是交互式運行,那麼與腳本的連接會在腳本結尾處丟失,這可能非常糟糕。我想幫助用戶'記住'以交互方式運行腳本。IPython運行魔術:如何爲「run -i」創建別名?
我在想兩種可能的方法來做到這一點。首先,在標題中指定的,我都可以成爲run -i
一個別名:
%alias_magic lab_run run -i
但這返回一個錯誤:
UsageError: unrecognized arguments: -i
有沒有辦法來解決這個問題?
或者,我可以在腳本內部檢測到-i
標誌是否被傳遞,如果不是,則會引發en錯誤。
In [1]: import sys
In [2]: run -i test.py random args
['test.py', 'random', 'args']
我不能使用IPY文件,因爲我需要閱讀%運行的標誌,如我剛纔的問題這裏解釋:但是,它並沒有在sys.argv
列表中顯示出來 How to add a custom flag to IPython's magic commands? (.ipy files)
任何人都可以看到這個問題的解決方案?
'-i'由'%run'解析,而不是因爲它傳遞給羣衆演員你的腳本爲'sys.argv'。 – hpaulj
看起來'%alias_magic'不帶參數,只有2個字符串。 – hpaulj