最近看深度學習的**時, 大多程式執行時是通過命令列的方式實現的。簡單做了的小例子:
**:
import argparse
import os
def decode(args):
# 引數解析
print('actionname:',args.action)
print('batchsize:',args.batch_size)
print('filepath:',args.filepath)
print('ckpt:',args.ckpt)
print('----------------------')
#將影象檔案路徑格式化
root=args.filepath
imgs = #影象檔名路徑元組
for i in range(10):
img = os.path.join(root, "%03d.png" % i)
mask = os.path.join(root, "%03d_mask.png" % i)
for j in range(3):
print(imgs[j])
print(imgs[j][0])
print(imgs[j][1])
if __name__ == '__main__':
parse = argparse.argumentparser()
parse.add_argument("action", type=str, help="train or test")
parse.add_argument('-bat',"--batch_size", type=int, default=8) #使用第二個名稱,batch_size預設值設為8
parse.add_argument("--filepath", type=str, default="d:\\")
parse.add_argument("--ckpt", type=str, help="the path of model weight file")
args = parse.parse_args() #獲取解析的引數
decode(args) #args引數傳給decode函式
執行命令:
python main.py test --ckpt=weight
執行結果:
解析命令列引數
include include include include int make argv const char astr,const char delimiters,char argvp void free argv char argvp int main int argc,char argv i...
Boost 解析命令列引數
boost中有乙個program options庫,專門用來解析程式命令列引數的。allow long 接受長名稱 allow short 接受短名稱 allow dash for short 允許短選項使用 allow slash for short 允許短選項使用 long allow adja...
python解析命令列引數
使用乙個先進的模組名為argparse,跟unix程式的命令列引數很像。直接對code做個筆記 import sys import argparse def main args print first name directory s args.first name print first para...