0

我一直在网上寻找解释如何编写程序的良好使用输出的指南。

假设我有一些用 Python 编写的小程序:

import sys

def main():
    if len(sys.argv < 5):
        print("Wrong usage")
    else:
        #Do something with the 4 parameters
        #First two looks like this: -s1 SOMETHING1
        #Second two looks like this: -s2 SOMETHING2

if __name__ == "__main__":
    main()

假设我这样调用这个程序:

py someProgram.py -s1 SOMETHING1 -s2 SOMETHING2

前 2 个参数是必需的,其他 2 个参数不是。

使用消息的良好做法是什么?

我想到了这样的事情:

Usage: py program.py -p1 param1 [-p2 param2]

这是正确的吗 ?我觉得这个-p1 param1部分是错误的,它看起来不正确。

编辑:好的,我在argparse文档中 迷失了方向。有人可以提供一个简单的例子来说明我的需要吗?是否可以将2个参数连接在一起?可以说如果我试图访问 args.u 它会给我 param1 值吗?

4

1 回答 1

0

如果你这样做

import argparse
ap = argparse.ArgumentParser()
ap.add_argument('-p', type=str)
ap.add_argument('-q', type=int)
ap.add_argument('-x', action='store_true')
ap.add_argument('infile', type=str)
args = ap.parse_args()

用户说

python3 your_program.py -p foo -q 17 -x hello.txt

然后args.p将包含字符串 foo,args.q将包含整数 17,args.x将是Trueargs.infile并将包含字符串hello.txt

于 2021-09-22T17:01:43.597 回答