jupyter如何解析命令行參數argv


  參考資料:

  https://stackoverflow.com/questions/37534440/passing-command-line-arguments-to-argv-in-jupyter-ipython-notebook

  這個問題一直困擾了我很久,眾所周知jupyter notebook非常利於調試--單步運行,隨時Debug。但是受限於ipynb的運行效率,網上大多數的項目使用的都是.py腳本,並且非常貼心地給我們使用各種argparse配置好命令行參數,如下所示:

  但是問題來了,jupyter notebook在運行時有沒有找我們要這些參數?顯然沒有,此時如果我們調用argparse的parse函數,就會不意外地報錯,大概長下面這樣:

  這下麻煩了,ipynb沒辦法正常解析命令行參數了。望着config文件里面作者設置好的數十行變量或路徑,實在不想放棄啊,但是又不想放棄jupyer notebook方便的調試功能,於是在網上搜索了半天,終於發現了解決辦法。辦法其實也很簡單,就是顯式地使用python的sys包來配置好命令行參數:

  當當當當,完全沒有報錯。因此,使用配置sys.argv的方法完全可以實現解析命令行參數的效果,這樣就可以完美復用作者寫好的配置,不用操心自己弄配置了!需要注意的是argv的第一項是腳本文件名,不能缺省,否則parser會遺漏配置的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM