jupyter notebook使用argparse傳入list參數(shù)
jupyter notebook其實(shí)是可以使用 argparse來調(diào)用參數(shù)的,只要把參數(shù)轉(zhuǎn)為list即可。
不能在jupyter notebook運(yùn)行的代碼(在shell里運(yùn)行):parser.parse_args()
能在jupyter notebook運(yùn)行的代碼:parser.parse_args(arg_list)
只需要兩步:
第一步. 創(chuàng)建一個簡單的配置文件:config.ini
[train] batch_size=32 num_layers=2
第二步. 用configparser類來加載這個文件
用configparser類來加載這個文件,并將配置轉(zhuǎn)換為list類型,再將list傳入
parser.parse_args(),即可無縫加入到argparse類里面。
下面是完整代碼:
import argparse
import configparser
if __name__ == "__main__":
? ? jupyter = True ?# 如果不在jupyter notebook中,就改為False.
? ??
? ? parser = argparse.ArgumentParser(description='test')
? ? parser.add_argument('--batch_size', type=int, default=64)
? ? parser.add_argument('--num_layers', type=int, default=2)
? ? arg_list = None
? ? if jupyter:
? ? ? ? # load from config.ini,如果是用jupyter, 就轉(zhuǎn)換配置為list再傳入argparse
? ? ? ? config = configparser.ConfigParser()
? ? ? ? config.read('config.ini')
? ? ? ? # 其實(shí)是個字典:?
? ? ? ? # print(config['train']['batch_size'])
? ? ? ? arg_list = []
? ? ? ? for k, v in config['train'].items():
? ? ? ? ? ? arg_list.append("--"+k)
? ? ? ? ? ? arg_list.append(v)
? ? # 如果不是用jupyter,arg_list就是None,和用命令行執(zhí)行沒有區(qū)別。
? ? args = parser.parse_args(arg_list)
? ? print('args:', args)
?以上代碼可以放到j(luò)upyter文件里面直接執(zhí)行或者是放到python文件中用命令行執(zhí)行,如:python main.py --batch_size=200
到此這篇關(guān)于jupyter notebook使用argparse傳入list參數(shù)的文章就介紹到這了,更多相關(guān)jupyter notebook使用argparse 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中import reload __import__的區(qū)別詳解
這篇文章主要介紹了python中import reload __import__的區(qū)別詳解,需要的朋友可以參考下2017-10-10
Python下載網(wǎng)絡(luò)小說實(shí)例代碼
這篇文章主要介紹了Python下載網(wǎng)絡(luò)小說實(shí)例代碼,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-02-02
淺談Python peewee 使用經(jīng)驗(yàn)
這篇文章主要介紹了淺談Python peewee 使用經(jīng)驗(yàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-10-10

