簡體   English   中英

有沒有一種方法可以在 python 中傳遞 0 命令行 arguments 並且如果傳遞了特定參數則具有相同的結果?

[英]Is there a way that I can pass 0 command line arguments in python and have the same result if a particular argument is passed?

我對 Python 還很陌生。 當 (i) 沒有傳遞命令行 arguments (ii) 傳遞特定的命令行參數,比如“幫助”時,我需要一段代碼來運行

我曾嘗試使用 argparse 和 sys 但我似乎無法讓兩者都工作。

對於 argparse,我在添加參數時嘗試了“default='help'”: parser=add_argument("arg1",default="help")

對於 sys.argv,我嘗試了以下代碼:

if (sys.argv[1] == 'help') or not (len(sys.argv) > 1)

但這只是給了我一個“索引超出范圍”錯誤。

import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--arg1", default="help")
args = parser.parse_args()

def help():
    print("I'm here to help, sorta")

if args.arg1 == "help":
    help()

在沒有任何命令行 arguments 的情況下運行此命令將 output 幫助消息。 使用python3 program.py --arg1 help運行它(假設此代碼在文件 program.py 中)也將 output 幫助消息。 最后,運行python3 program.py --arg1 nohelp不會 output 幫助消息(不僅僅是“nohelp”,而是“help”以外的任何內容)。

暫無
暫無

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

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