Форум сайта python.su
Как перехватить сообщения операционной системы при передачи команды на выполнение? Например:
os.system(“некая_комманда”)
система ругается, что такой комманды нет…. (не python ругается, а операционка)
как перехватить это сообщение?
try-except - не подходит, т.к. с точки зрения интерпретатора все ОК - комманда передана на выполнение системе.
Что посоветуете?
Офлайн
ВутТеоретически, systems() возвращает код завершения выполненной программы. Теоретически, если он отличен от 0 – возникла ошибка (в Unix так). За это можно зацепиться.
Как перехватить сообщения операционной системы при передачи команды на выполнение? Например:
os.system(“некая_комманда”)
система ругается, что такой комманды нет…. (не python ругается, а операционка)
как перехватить это сообщение?
try-except - не подходит, т.к. с точки зрения интерпретатора все ОК - комманда передана на выполнение системе.
Что посоветуете?
Офлайн
import os s = os.system("ls -l") print s s = os.system("lsdhdj") print s
Отредактировано (Май 31, 2007 11:20:20)
Офлайн
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.
Офлайн
Спасибо огромное!
os.system - пойдёт для начала
Покапаюсь ещё с popen.
Спасибо
Офлайн