詳解用Python處理Args的3種方法

2022-09-25 23:30:14 字數 1882 閱讀 4274

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...