Hej, mam pewnien problem. Uruchamiam plik .bat ktory uruchamia plik pythona z testami. Wykonanie calego pliku trwa kilka godzin, dlatego dobrze by bylo móc gdzieś zapisać konsole pythona w razie bledu. Probowalem w taki sposob:
def run_and_save_output():
logfile = open(log_file, 'w')
proc = subprocess.Popen([sys.executable, script_name], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
for line in proc.stdout:
sys.stdout.write(line)
logfile.write(line)
proc.wait()
generalnie dla malych plikow dziala fajnie, jest plik z logami i sa wyniki w konsoli. Natomiast gdy uruchamiam duzy plik jak ten z testami to pojawia sie problem taki ze w konsoli nie ma nic dośc długo, wyglada jakby sie zwiesilo i dopiero po jakims czasie sie pojawiaja informacje takimi porcjami i sa niekompletne i w innym porządku niz podczas normlanego uruchamiania.
Probowalem też innym sposobem, w batchu za pomoca tego : > np
python run_test.py > log_file.txt
W tym przypadku w consoli nie ma nic, natomiast log file tez ma zaburzona kolejnosc i nie ma tam wszystkich informacji.
Plik z testami uruchamia też za pomocą os.system inny plik pythona i interperter ( python 2.2) oraz konsole Matlaba. W logach wyglada to tak jakby raz bylo info z konsoli pythona 2.2 , raz z pythona 2.7.
Jest jakis sposob by skopiowac całą konsole pythona/batcha do pliku .txt ?