簡體   English   中英

如何在 argparse 中使用輸入變量?

[英]How to use input variables with argparse?

我目前正在研究 Python 腳本,我想在其中提供一般選項。 那是因為最終的目標是output一個URL有參數,每個參數對應一個輸入變量。 所以也許 URL 有用戶名參數,或日期參數,或域參數等。如果用戶想輸入用戶名,他們可以輸入如下內容:

script.py -u johndoe

然后腳本將在-u之后的部分,將其等同於變量username ,然后將其插入到 URL 的適當位置。

我怎么能做這樣的事情? 我嘗試用這段代碼做一些事情,但我不知道從哪里開始,如何在 argparse 旁邊使用輸入變量。

import argparse

parser.add_argument('-u', '--username', action='N', type=str, nargs='+',
                    help='What's the username?')

args = parser.parse_args()

你可以試試這個。 如果用戶名未作為參數傳遞,則 args.username 將為None 如果用戶名是強制性的,您應該將required=True傳遞給 add_argument(...) 調用。

import argparse

parser = argparse.ArgumentParser( description="My script")
parser.add_argument('-u', '--username', type=str, 
                    help="What's the username?", required=False)

args = parser.parse_args()

print(args.username)

如果我正確理解您的問題,我想您想知道如何在您的程序中使用 arguments。 您可以通過將它們轉換為字典來獲取它們。

args = vars(parser.parse_args())
username = args['username']

所以你的整個代碼應該是這樣的:

import argparse
parser = argparse.ArgumentParser()
parser.add_argument('-u','--username', help='Some help', required=True)
args = vars(parser.parse_args())
username = args['username']

print(username)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM