python将argv作为参数_在jupyter / ipython notebook中将命令行参数传递给argv
經(jīng)過大量的環(huán)顧后,我發(fā)現(xiàn)了非常繁瑣的自定義庫(kù),但是用幾行代碼解決了它,我認(rèn)為這些代碼很漂亮.我使用nbconvert最終得到一個(gè)html報(bào)告作為輸出,包含筆記本中的所有圖形和降價(jià),但是通過最小的python包裝器接受命令行參數(shù):
python文件test_args.py(正常執(zhí)行命令行參數(shù)):
import sys,os
IPYNB_FILENAME = 'test_argv.ipynb'
CONFIG_FILENAME = '.config_ipynb'
def main(argv):
with open(CONFIG_FILENAME,'w') as f:
f.write(' '.join(argv))
os.system('jupyter nbconvert --execute {:s} --to html'.format(IPYNB_FILENAME))
return None
if __name__ == '__main__':
main(sys.argv)
筆記本包含:
import sys,os,argparse
from IPython.display import HTML
CONFIG_FILE = '.config_ipynb'
if os.path.isfile(CONFIG_FILE):
with open(CONFIG_FILE) as f:
sys.argv = f.read().split()
else:
sys.argv = ['test_args.py', 'input_file', '--int_param', '12']
parser = argparse.ArgumentParser()
parser.add_argument("input_file",help="Input image, directory, or npy.")
parser.add_argument("--int_param", type=int, default=4, help="an optional integer parameter.")
args = parser.parse_args()
p = args.int_param
print(args.input_file,p)
我可以像往常一樣解析參數(shù)解析的python筆記本:
python test_args.py my_input_file --int_param 12
我傾向于將帶有argparse調(diào)用的塊粘貼到python包裝器中,以便python腳本捕獲命令行錯(cuò)誤并且-h正常工作.
總結(jié)
以上是生活随笔為你收集整理的python将argv作为参数_在jupyter / ipython notebook中将命令行参数传递给argv的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: codeforces All the V
- 下一篇: 7.12 vowels.c 程序