2019年3月13日 星期三

[python] 不要自己處理使用者輸入的問題, 交給 argparse


How to use argparse?



import argparse


# 設定參數
parser = argparse.ArgumentParser()
parser.add_argument('-mode', '--mode', type=int, default = 0, help="The running mode")
parser.add_argument(-file, '--file_input', help="An input file")
parser.add_argument('-log', '--file_log', help="The output file")
parser.add_argument('-debug', '--file_debug', help="debug information")
   
# 讀取參數
args = parser.parse_args()
print("args.mode =", args.mode)
print("args.file_ecg = ", args.file_input)
print("args.file_log = ", args.file_log)

print("args.file_debug = ", args.file_debug)


至於 Visual Studio Code Debug 模式, 如何丟參數給他?
用 .vscode/launch.json
# launch.json
{
            "name": "Python: Current File (Integrated Terminal)",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": ["-mode", "0", "-file", "a.json", "-log", "a.log", "-debug", "a.debug"]

 }