91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么處理命令行參數

發布時間:2021-07-10 11:30:17 來源:億速云 閱讀:173 作者:Leah 欄目:大數據

這期內容當中小編將會給大家帶來有關Python中怎么處理命令行參數,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1.sys模塊

Python中的sys模塊具有argv功能。當通過終端觸發main.py的執行時,此功能返回所有命令行參數的列表。返回列表中的第一個元素是main.py.

考慮下面的main.py示例

import sys

list_of_arguments = sys.argv

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]" "{\"arg\": 3}"

返回:

test.py
first_arg
[second_arg]
{"arg": 3}

2.帶有大參數的sys模塊

這是一種為Python代碼提供參數的簡單又強大的方法。它不是提供提供多個參數,而是提供單個“大”參數。這一個大參數是一個字典,鍵表示參數名,值表示它們的對應值。

由于在Python中讀取時,dictionary參數被表示為字符串,因此應該將其轉換為字典。這可以通過使用ast.literal_eval或者json.loads函數做到。ast或json模塊需要相應地導入。

考慮下面的main.py示例:

import sys
import ast

raw_arguments = sys.argv[1]

print(raw_arguments)
arguments = ast.literal_eval(raw_arguments)

print(arguments['name']) # John
print(arguments['surname']) # Doe
print(arguments['age']) # 22

觸發mian.py:

python main.py "{\"name\": \"John\", \"surname\": \"Doe\", \"age\": 22}"

返回:

{"name": "John", "surname": "Doe", "age": 22}
John
Doe
22

3.argparse模塊

如果你想為應用程序提供適當的命令行界面,那么argparse就是要使用的模塊。這是一個成熟的模塊,提供開箱即用的參數解析、幫助消息以及參數被誤用時會自動拋出錯誤。Python默認安裝此模塊。

要充分利用argparse提供的功能,需要一些時間來掌握。作為一個示例,考慮以下示例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函數添加所有參數。此函數接收許多參數,其中包括參數名稱(例如--name)、目標變量、預期數據類型、要顯示的幫助消息等。

觸發main.py:

python main.py --name John --surname Doe --age 22

返回

John
Doe
22

上述就是小編為大家分享的Python中怎么處理命令行參數了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

太湖县| 婺源县| 贺州市| 阿荣旗| 雷波县| 杭州市| 成安县| 南部县| 商丘市| 宝山区| 军事| 云阳县| 龙川县| 吴江市| 呼图壁县| 宁海县| 疏附县| 濮阳县| 怀来县| 永泰县| 凤山市| 武安市| 鄂托克旗| 内黄县| 洞口县| 平乐县| 峨眉山市| 昭通市| 韶山市| 邵阳县| 上杭县| 界首市| 北辰区| 五河县| 安岳县| 榆中县| 水城县| 浮梁县| 哈巴河县| 洛宁县| 喀喇|