Подскажите, а что мне надо юзать, если я хочу читать что выводит запущенное в cmd в режиме реального времени? Я пробовал subprocess.Popen и communicate. Оно сначала дождется конца процесса, потом выводит. Никак не могу добится желаемого результата((( Еще пробовал sys.popen и popen2.
Код | p = subprocess.Popen(['c:\import.bat'],stdout=subprocess.PIPE,bufsize=-1 ) print "Pipe opened" percent = 0 s='' self.form.progress.setMaximum(200) for lines in p.stdout.xreadlines(): self.form.setWindowTitle("Repgen "+str(self.form.progress.value()/2)+"%") print "line: ", line splitted = line.split("%") try: value = int ( splitted[0] ) percent = percent+1 print percent self.form.increase_progress_value( 1 ) except: value = 0 print "Closing pipe"
|
|