Я новичок в Socket Programming на Python.Я написал следующий код в Python 3.7:
trialSocketList.py
import subprocess
import sys
HOST = sys.argv[1]
PORT = sys.argv[2]
command = "tnc " + HOST + " -PORT "
print(command)
subprocess.call(command + PORT)
Я передаю следующее в CMD Windows:
python trialSocketList.py "127.0.0.1" 445
Но у меня возникает следующая ошибка при выполнении кода выше:
tnc 127.0.0.1 -PORT
Traceback (most recent call last):
File "trialSocketList.py", line 14, in <module>
subprocess.call(command + PORT)
File "C:\Python37\lib\subprocess.py", line 323, in call
with Popen(*popenargs, **kwargs) as p:
File "C:\Python37\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "C:\Python37\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified
Когда я пытаюсь netstat -an
вместо команды tnc 127.0.0.1 -PORT
в том же коде, код работает отлично.После написания этого API я написал несколько приведенных выше строк кода.
* Я могу запустить команду tnc
, если нажму ее непосредственно в Windows cmd.
Я что-то здесь упускаю?Или есть другой лучший способ сделать это?Если так, то, пожалуйста, помогите мне понять проблему здесь.
Заранее спасибо.