Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 尝试指定命令行参数和can';我想不出来-不完全确定是什么';目的地';和';商店';在optpass中执行_Python_Bash_Parsing_Command Line - Fatal编程技术网

Python 尝试指定命令行参数和can';我想不出来-不完全确定是什么';目的地';和';商店';在optpass中执行

Python 尝试指定命令行参数和can';我想不出来-不完全确定是什么';目的地';和';商店';在optpass中执行,python,bash,parsing,command-line,Python,Bash,Parsing,Command Line,因此,我试图让我的程序执行命令行参数,并在脚本中使用它。我读了argparse和optparse文档,但还是迷路了。 我要做的是让我的代码在命令行上执行: ./program <-p port> <-s> [required1] [required2] 我想那就是store和dest要做的事情。。。在store中,将使用port参数,而dest将是变量名,我可以像program.port那样调用它。然而,它不是这样工作的,我也无法找到或解释store和dest的确切功能

因此,我试图让我的程序执行命令行参数,并在脚本中使用它。我读了
argparse
optparse
文档,但还是迷路了。 我要做的是让我的代码在命令行上执行:

./program <-p port> <-s> [required1] [required2]
我想那就是
store
dest
要做的事情。。。在
store
中,将使用
port
参数,而
dest
将是变量名,我可以像
program.port那样调用它。然而,它不是这样工作的,我也无法找到或解释store和dest的确切功能


我是Python新手,所以这可能不是一个结构良好的问题

因此,遵循文档:

  • 您可以创建一个解析器
  • import argparse
    parser=argparse.ArgumentParser(description='一些关于函数功能的有用文本〕
    
  • 添加参数时,可选参数前面有“-”,请参见下文
  • parser.add_参数('-p','-port',type=int,default=0,help='port'))
    parser.add_参数('-s',help='我不知道这是什么')
    add_参数('required_1')#注意缺少破折号
    parser.add_参数('required_2')
    
  • 您需要使用函数调用解析参数
  • args=parser.parse_args()
    
  • 这将创建一个可用于访问变量的
  • port=args.port
    或
    port=vars(args)['port']
    req1=参数要求\u 1
    req2=参数要求\u 2
    等
    
    有关命名空间对象的详细信息,请签出此


    希望这能有所帮助。

    我假设您指的是
    解析器。添加参数('-p','-port',type=int)
    ,我刚刚尝试过,但没有成功。非常感谢!!!在我试图查看的所有资源中,这是我见过的最有用和最清晰的资源。我做了更多的挖掘,也发现了这一点,但我非常感谢你的回答。不客气,如果这回答了你的问题,请记住接受答案!:)
    server_address = ('some server name', **port**)