Как получить вывод exe в сценарии Python?

Вы можете нарезать строку с помощью self.response_content[:10].

В вашем случае:

def __str__(self):
    return (str(self.id) + " " + self.author_name + "|" + self.response_content[:10])
7
задан Christopher Bottoms 2 April 2015 в 16:33
поделиться

2 ответа

Для вызова внешней программы из Python используйте модуль подпроцесса .

Подпроцесс Модуль позволяет создавать новые процессы, подключаться к их каналам ввода / вывода / ошибок и получать их коды возврата.

Пример из документа (вывод - это файловый объект, который обеспечивает вывод дочернего процесса.):

output = subprocess.Popen(["mycmd", "myarg"], stdout=subprocess.PIPE).communicate()[0]

Конкретный пример с использованием cmd , командной строки Windows интерпретатор с двумя аргументами:

>>> p1 = subprocess.Popen(["cmd", "/C", "date"],stdout=subprocess.PIPE)
>>> p1.communicate()[0]
'The current date is: Tue 04/14/2009 \r\nEnter the new date: (mm-dd-yy) '
>>> 
20
ответ дан 6 December 2019 в 06:38
поделиться

Я вполне уверен, что вы говорите о Windows здесь (основываясь на формулировке вашего вопроса), но в В среде Unix / Linux (включая Mac) также доступен модуль команд:

import commands

( stat, output ) = commands.getstatusoutput( "somecommand" )

if( stat == 0 ):
    print "Command succeeded, here is the output: %s" % output
else:
    print "Command failed, here is the output: %s" % output

Модуль команд предоставляет чрезвычайно простой интерфейс для запуска команд и получения статуса (код возврата) и вывода (читает из stdout и stderr). По желанию, вы можете получить только статус или просто вывод, вызвав command.getstatus () или commands.getoutput () соответственно.

7
ответ дан 6 December 2019 в 06:38
поделиться