[英]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.