使用Python

时间:2017-10-09 22:49:14

标签: python sockets argparse

我正在尝试使用argparse以下列格式解析我的脚本的2个命令行参数client.py [-n IP] [-p PORT]

到目前为止,我已实施以下内容:

connection = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
## Gets IP and PORT from command line and parses them
ConnectionInfo = argparse.ArgumentParser()
ConnectionInfo.add_argument("-n",  default=socket.gethostname())
ConnectionInfo.add_argument("-p", type=int, default='58000')
ConnectionInfoParsed = ConnectionInfo.parse_args()
# Saves the parsed IP and Port
HOST = ConnectionInfoParsed.n
PORT = ConnectionInfoParsed.p
# Connects to Server
connection.connect((HOST, PORT))

但是当我执行时:

py client.py [-n 127.0.0.1] [-p 58000]

我收到以下错误

usage: client.py [-h] [-n N] [-p P]
client.py: error: unrecognized arguments: [-n 127.0.0.1] [-p 58000]

任何人都可以帮助我解决问题的位置,错误中的[-h]参数来自哪里,因为我没有为它添加任何参数?

1 个答案:

答案 0 :(得分:0)

正如hpaulj所提到的

  

我希望你使用py client.py -n 127.0.0.1 -p 58000.没有括号。

问题已解决