1. 程式人生 > 其它 >python基礎之編寫帶引數的程式

python基礎之編寫帶引數的程式

第一種方法:sys.argv。獲取的是引數列表。在使用過程中,最好先用len(sys.argv)判斷引數的個數,再用sys.argv[0]下標的方式獲取引數,獲取的引數型別都是str

import sys


if __name__ == '__main__':
    print(sys.argv)

sys.argv返回的是引數列表,第一個引數是當前py檔案的絕對路徑,後面的引數就是自己傳遞的引數內容。

第二種方法:argparse。此方法可以幫助生成幫助文件usage,並且可以規定引數型別,以及幫助不符合規定的引數報錯。

先看一個例子:

#!/usr/bin/env python
# _*_ coding: UTF-8 _*_
"""================================================= @Project -> File : paramter_re.py @IDE : PyCharm @Author : zihan @Date : 2021/12/23 11:06 @Desc : =================================================""" import argparse if __name__ == '__main__': parser = argparse.ArgumentParser() #
建立ArgumentParser物件 # 預設引數是一個str # parser.add_argument('integers') # 必須傳入整型資料,否則報錯paramter_re.py: error: argument integers: invalid int value: 'a' # parser.add_argument('integers', type=int) # usage 提示變為N -- usage: paramter_re.py [-h] N # parser.add_argument('integers', metavar='N', type=int)
# 引數為-h時會把help的資訊提示給N引數 # parser.add_argument('integers', metavar='N', type=int, help='It must be a integer') # 引數是一個列表,可以是1個或多個整數,傳參的話用空格隔開就好,會自動判斷多少個整數然後生成整數列表 # 如果有兩個argument都是整數列表的話,會將最後一個整數給到第二個引數 # parser.add_argument('integers', metavar='N', type=int, nargs='+', help='It must be a integer list') # 加了-代表是可選引數,default代表預設是1 parser.add_argument('-integers', metavar='N', type=int, nargs='+', default=1, help='It must be a integer list') args = parser.parse_args() print(type(args.integers)) print(args.integers) parser.print_help()

輸出:

<class 'int'>
1
usage: paramter_re.py [-h] [-integers N [N ...]]

optional arguments:
  -h, --help           show this help message and exit
  -integers N [N ...]  It must be a integer list

如果帶了'-'的話,表示是可選引數,如果要傳值的話就必須是-integers 1,如果沒有帶'-'表示是必須的引數,可以直接傳值1。