亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

佛山市| 石渠县| 定边县| 普兰县| 宁安市| 美姑县| 临颍县| 稻城县| 雷山县| 皮山县| 玛曲县| 长春市| 大荔县| 汶川县| 屏南县| 涟水县| 湘西| 兴业县| 罗源县| 阿巴嘎旗| 沙田区| 阳信县| 尉犁县| 仙游县| 通城县| 德江县| 安平县| 盐城市| 田阳县| 南江县| 巴林左旗| 滕州市| 吉隆县| 馆陶县| 汤原县| 桦川县| 铜山县| 张家川| 五峰| 中卫市| 铜梁县|