Page 80 - 6734
P. 80

import os
           print os.getpid() # ідентифікатор процесу
           os.system(r'start calc.exe') # виконує команду
           оболонки
           print os.system(r'echo hello') # виконує команду
           оболонки
           print os.popen(r'echo world').read() # читати
           результати команди оболонки
           id = os.spawnv(os.P_NOWAIT,
           'c:\\Windows\\Notepad.exe',[r'
           c:\Python27\README.txt']) # виконує програму без
           очікування виходу з неї
           status = os.waitpid(id, 0) # але тут чекає завершення
           процесу id
           print 'status=', status
           os.startfile(r'c:\Python27\README.txt') # виконує
           файл відповідним застосуванням
           os.execl(r'c:\Windows\Notepad.exe', '
           c:\Python27\README.txt') # виконує файл, замінює
           поточний процес
           print "hello" # ця команда вже не виконається
           5144
           hello
           0
           world

           status= (820, 0)

                        subprocess – керування підпроцесами
               Модуль  subprocess  дозволяє  створювати  нові  процеси,
           під’єднуватись до їхніх input/output/error каналів та отримувати їхні
           коди  завершення  [5,  19,  27].  Цей  модуль  призначений  для  заміни
           кількох  старих  модулів  і  функцій  (os.system,  os.spawn*,
           os.popen*, popen2.*, commands.*).
                                          79
   75   76   77   78   79   80   81   82   83   84   85