|
|||||||
Раздел: Компьютер - Программирование - Язык Python
|
|||||||
|
|||||||
Для вызова внешних программ/команд системы рекомендуется ипользовать библиотеку subprocess. Функция call() Выполнение команд с получением кода возврата. # Выполнить простую системную команду,по аналогии os.system() ret = subprocess.call("ls -l", shell=True) # Выполнить простую команду, подавив вывод ret = subprocess.call("rm –f *.java", shell=True, stdout=open("/dev/null")) Вопрос в получении вывода выполняемой команды. Встречалась информация, что через call получить вывод невозможно, он виден только в выводе выполнения программы. Однако нужно попробовать указать в параметрах: stdout=subprocess.PIPE или stdout=subprocess.STDOUT Возможно, что затем можно получить накопленное содержимое subprocess.STDOUT в переменную. Проверить. Подробности subprocess.PIPE - специальная константа, которая используется для аргументов stdin, stdout или stderr, обозначает объект Popen. Наличие этой константы указывает, что труба стандартного потока будет открыта. (Оригинал на английском: Special value that can be used as the stdin, stdout or stderr argument to Popen and indicates that a pipe to the standard stream should be opened.) subprocess.STDOUT - специальная константа, которая используется для аргументов stderr, обозначает объект Popen. Наличие этой константы указывает, что поток ошибок будет иметь тот же системный идентификатор, что и стандартный поток вывода. (Оригинал на английском: Special value that can be used as the stderr argument to Popen and indicates that standard error should go into the same handle as standard output).
|
|||||||
Так же в этом разделе:
|
|||||||
![]() |
|||||||
|
|||||||
|