Вут
Май 31, 2007 08:12:29
Как перехватить сообщения операционной системы при передачи команды на выполнение? Например:
os.system(“некая_комманда”)
система ругается, что такой комманды нет…. (не python ругается, а операционка)
как перехватить это сообщение?
try-except - не подходит, т.к. с точки зрения интерпретатора все ОК - комманда передана на выполнение системе.
Что посоветуете?
Maximbo
Май 31, 2007 08:42:46
Вут
Как перехватить сообщения операционной системы при передачи команды на выполнение? Например:
os.system(“некая_комманда”)
система ругается, что такой комманды нет…. (не python ругается, а операционка)
как перехватить это сообщение?
try-except - не подходит, т.к. с точки зрения интерпретатора все ОК - комманда передана на выполнение системе.
Что посоветуете?
Теоретически, systems() возвращает код завершения выполненной программы. Теоретически, если он отличен от 0 – возникла ошибка (в Unix так). За это можно зацепиться.
Гляньте так же на
Popen. С его помощью можно анализировать вывод stdout запускаемой проги.
Maximbo
Май 31, 2007 14:28:10
tabajara:Функциональность различная. И, учитывая наличие секции
Replacing Older Functions with the subprocess Module в документации, я бы повнимательнее присмотрелся к Popen.
Обратите внимание на возвращаемое значение и исходный вопрос:
>>> print os.system.__doc__
system(command) -> exit_status
Execute the command (a string) in a subshell.
Вут
Июнь 14, 2007 20:41:40
Спасибо огромное!
os.system - пойдёт для начала
Покапаюсь ещё с popen.
Спасибо