python argparse模組使用
- 2019 年 11 月 20 日
- 筆記
在研究TensorFlow程式碼時發現廣泛存在著argparse模組的使用,所以簡單地學習下如何使用該模組。
指定參數、可選參數與未解析參數的混合使用
import argparse def main(): parser = argparse.ArgumentParser() parser.add_argument( '--data_dir', type=str, help='Directory for storing input data') parser.add_argument('integer', type = int, help = 'display an integer') FLAGS, unparsed = parser.parse_known_args() #args = parser.parse_args() if FLAGS.data_dir: print(FLAGS.data_dir) if FLAGS.integer: print(FLAGS.integer) if unparsed: print(unparsed) if __name__ == '__main__': main()
要點分析
- 使用argparse.ArgumentParser()增加一個解析器對象
- 用add_argument()方法增加一個參數,注意參數前加」–」為可選參數,否則為必選參數
- 使用parse_known_args()方法解析,返回的第一個參數為已解析的對象,第二個為未解析對象. 並且,必須在調用的時候提供unparsed供返回,否則會報
AttributeError: 'tuple' object has no attribute 'op_type'
錯誤。 - 使用已解析對象即可訪問傳入參數