Выполнить команду echo в скрипте Python - PullRequest
1 голос
/ 08 мая 2019

Я пытаюсь выполнить команду echo в скрипте Python.

Если я делаю это в терминале, это выглядит так:

echo -n -e '{"DATE": "Wednesday, May 04, 2016", "message": "ADIsss     ", "INDEX_CLOSING_VALUE": "4428.61"}'"\0" | nc -w0 127.0.0.1 12201

Я пытался использовать:


import subprocess
cmd = '''echo -n -e '{ "version": "1.1", "host": "example.org", "short_message": "A short message", "level": 5, "_some_info": "foo" }'"\0" | nc -w0 127.0.0.1 12201'''
proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
print proc.communicate()[0],

я получил ошибку:

Traceback (most recent call last):
  File "tet.py", line 3, in <module>
    proc = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
  File "/usr/lib/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1343, in _execute_child
    raise child_exception
TypeError: execv() arg 2 must contain only strings

как я могу решить эту проблему с помощью подпроцесса в python

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...