Как вызвать следующую команду, используя подпроцесс в python "python -m xport C: / ab c .xpt> C: / ab c .csv" - PullRequest
0 голосов
/ 11 февраля 2020

Как вызвать следующую команду с помощью подпроцесса в python "python -m xport C: / ab c .xpt> C: / ab c .csv" ?

Команда работает правильно в командной строке. Но выдает ошибку при попытке выполнить через подпроцесс в python.

subprocess.call (["python", "-m", "xport", "C: / ab c .xpt ","> "," C: / ab c .csv "])

Приведенная выше команда выдает ошибку: использование: xport .py [-h] [input] xport.py: ошибка: нераспознанные аргументы: C: / ab c .csv

1 Ответ

0 голосов
/ 11 февраля 2020

> C:/abc.csv - это перенаправление вывода в текстовый файл, а не часть команды. Но если вы уже находитесь внутри python скрипта, почему бы вам не вызвать функцию или модуль напрямую? Нет необходимости использовать подпроцесс, но если вы хотите использовать его, вам нужно перехватить вывод и сохранить его где-нибудь (в переменной или файле)

>>> proc = subprocess.Popen('ls', stdout=subprocess.PIPE)
>>> output = proc.stdout.read()
>>> print output
bar
baz
foo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...