Funkcja wykonuje podany plik i przechwytuje standardowe wyjście. Przechwycone
standardowe wyjście jest zwracane jako str. Dodatkowo jeśli printable
jest równe True to funkcja dodatkowo wyświetli przechwycone standardowe
wyjście.
Pierwszym parametrem funckji musi być plik - nie może być to nazwa polecenia
w windows (jak np. dir). Jesli chcesz użyć windowsowej komendy to stwórz
najpierw plik .bat, który będzie wykonywał tą komendę, a następnie jako
parametr funckji podaj nazwę pliku.
import sys import subprocess cmd = "file.bat" def osSystemRedirStdout(scriptfile, printable=True): process = subprocess.Popen(scriptfile, stdout=subprocess.PIPE) out = '' while True: ch = process.stdout.readline(1) if ch == '' and process.poll() != None: break out += ch if printable: sys.stdout.write(ch) sys.stdout.flush() return out print osSystemRedirStdout(cmd)