2017-10-09 83 views
0

我試圖argparse使用使用argparse端口格式解析2個命令行參數,以我的腳本按以下格式client.py [-n IP] [-p PORT]解析命令行參數爲IP:在Python

到目前爲止,我已經實現了以下:

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]參數來自哪裏,因爲我沒有爲它添加任何參數?

+3

我希望你用'PY client.py -n 127.0.0.1 -p 58000'。沒有括號。 – hpaulj

回答

0

由於hpaulj提到

我期望你使用PY client.py -n 127.0.0.1 -p 58000無支架。

的問題解決