gpt4 book ai didi

python - 尝试指定命令行参数但无法弄清楚 - 不完全确定 'dest' 和 'store' 在 optparse 中做什么

转载 作者:行者123 更新时间:2023-12-01 07:15:36 24 4
gpt4 key购买 nike

所以我试图让我的程序接受命令行参数并在我的脚本中使用它。我阅读了 argparse 和 optparse 文档,但我仍然迷失方向。我想做的是让我的代码在命令行上执行此操作:

./program <-p port> <-s> [required1] [required2]

-p 是可选的,我想在我的脚本中使端口成为一个变量,如下所示:

server_address = ('some server name', **port**)

我认为这就是 storedest 会做的...就像 store 会采用 port argument 和 dest 将是变量名称,我可以像 program.port 那样调用它。然而,它不是这样工作的,我无法找到或破译 store 和 dest 到底做什么的解释。

我是 Python 新手,所以这可能不是一个格式良好的问题。

最佳答案

因此,请遵循文档:

  1. 您创建一个解析器
import argparse
parser = argparse.ArgumentParser(description='Some helpful text about what your function does')
  • 您添加参数,可选参数前面有“-”,请参见下文
  • parser.add_argument('-p', '--port', type=int, default=0, help='port')
    parser.add_argument('-s', help='I don\'t know what this is')
    parser.add_argument('required_1') # Note the lack of dashes
    parser.add_argument('required_2')
  • 您需要通过函数调用来解析参数
  • args = parser.parse_args()
  • 这将创建一个 namespace object然后您可以从中访问变量,请参见下文
  • port = args.port
    or
    port = vars(args)['port']
    req1 = args.required_1
    req2 = args.required_2
    etc...

    有关命名空间对象的更多信息,请查看此 question

    希望有帮助。

    关于python - 尝试指定命令行参数但无法弄清楚 - 不完全确定 'dest' 和 'store' 在 optparse 中做什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57984830/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com