Python argparse“无法识别的参数”错误

问题描述:

我想使用argparse为我正在编写的程序设置一些简单的命令行选项。我不明白为什么我得到“-u”的错误。我正在使用Python 2.7。有谁知道我做错了什么?Python argparse“无法识别的参数”错误

代码:main.py -s 172.17.0.3 -p 8591 -u“用户” -c“通过” -r 68.2

import argparse 

parser = argparse.ArgumentParser() 
parser.add_argument("-s", "--server", help="ip address of the server") 
parser.add_argument("-p", "--port", help="port number of the server") 
parser.add_argument("-u", "--user", help="username") 
parser.add_argument("-c", "--pass", help="authentication credentials") 
parser.add_argument("-r", "--record", help="port number of the server") 
args = parser.parse_args() 

输出: 用法:在main.py [-h] [ -s SERVER] [-p PORT] [-u USER] [-c PASS] [-r RECORD] main.py:错误:无法识别的参数:U用户

Process finished with exit code 2 

当你调用主.py,检查你传递给用户的参数(-u“user”)。

您正在使用连字符( - )而不是连字符( - )。这些是不同的字符。

http://www.thepunctuationguide.com/en-dash.html

+2

此外,OP使用'user'周围的曲线引号而不是直引号。 – MattDMo