python 中的 sys 模組具有 ar** 功能。當通過終端觸發 main.py 的執行時,此功程式設計客棧能將返回提供給 main.py 的所有命令列引數的列表。除了其他引數之外,返回列表中的第乙個元素是 main.py 的路徑。
考慮下面的 main.py 示例
import sys
list_of_arguments = sys.ar**
print(list_of_args[0程式設計客棧])
print(list_of_args[1])
print(list_of_args[2])
print(list_of_args[3])
用如下方式在命令列觸發 main.py :
python main.py first_arg "[second_arg]" ""
輸出的結果如下所示:
test.py
first_arg
[second_arg]
這是一種為 python **提供引數的簡單而強大的方法。你不需要提供按空格分隔的大量引數,而是提供乙個單一的「大」引數。這個大引數是乙個字串字典,其中 dict-keys 表示引數名稱,dict-value 表示相應的值。
考慮下面的 main.py 示例
import sys
import ast
raw_arguments = sys.ar**[1]
print(raw_arguments)
arguments = ast.literal_eval(raw_arguments)
print(arguments['name']) # john
print(arguments['surname']) # doe
print(arguments['age']) # 22
用如下方式在命令列觸發 main.py :
python main.py ""
輸出的結果如下所示:
john
doe22
如果想為你upovx的應用程式提供適當的命令列介面,則 argparse 是你需要的模組。
這是乙個全面的模組,提供了現成的引數解析、幫助訊息和誤用引數時自動拋錯。
要充分利www.cppcns.com用 argupovxparse 提供的功能,需要花費一些時間來掌握。現在先然我們來考慮以下 main.py 示例:
import argparse
parser = argparse.argumentparser(description='personal information')
parser.add_argument('--name', dest='name', type=str, help='name of the candidate')
parser.add_argument('--surname', dest='surname', type=str, help='surname of the candidate')
parser.add_argument('--age', dest='age', type=int, help='age of the candidate')
args = parser.parse_args()
print(args.name)
print(args.surname)
print(args.age)
在初始化 argumentparses 的物件之後,我們使用 add_argument 函式新增所有預期的引數。該函式接收許多引數,其中包括引數名、目標變數、預期的資料型別、要顯示的幫助訊息等。
用如下方式在命令列觸發 main.py :
python main.py --name john --surname doe --age 22
輸出的結果如下所示:
john
doe22
python之args和 kwargs(詳解)
args kwargs 不定長引數 def jia args s 0for i in args s i return s print jia 1,2,3 6python函式允許同時全部或部分使用使用固定引數,預設引數,單值 一顆星 可變引數,鍵值對 兩顆星 可變引數,使用時必須安裝前述順序書寫。de...
Python中 args 和 kwargs的用法
好久沒有學習python了,應為工作的需要,再次拾起python,喚起記憶。當函式的引數不確定時,可以使用 args 和 kwargs,args 沒有key值,kwargs有key值。還是直接來 吧,廢話少說 python def fun var args farg,args print arg f...
Python中 args 和 kwargs的用法
當函式的引數不確定時,可以使用 args 和 kwargs,args 沒有key值,kwargs有key值。還是直接來 吧,廢話少說 python view plaincopyprint?def fun var args farg,args print arg farg for value in a...