繁体   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