Я могу перенаправить вывод скрипта Python просто с символом «>» в командной строке. Однако, если скрипт Python имеет subprocess.call(), порядок выходных строк пропущен.Python: перенаправленный порядок сообщений
test.py
import subprocess
print("Message from Python... this should appear at 1st line")
subprocess.call(r"c:\src\python\redirect2\hi.bat")
hi.bat
@echo off
echo Message from batch file. this should appear at 2nd line.
Ниже сообщение я ожидаю.
C:\src\python\redirect2>\Python34\python.exe test.py
Message from Python... this should appear at 1st line
Message from batch file. this should appear at 2nd line.
Однако, как только я перенаправляю его вывод, порядок этих строк был заменен.
C:\src\python\redirect2>\Python34\python.exe test.py > console.txt
C:\src\python\redirect2>type console.txt
Message from batch file. this should appear at 2nd line.
Message from Python... this should appear at 1st line
Кто-нибудь знает, как предотвратить это? Включение сна() не похоже на помощь. Я использую Windows 8.1.
спасибо. Это сработало! – Tony
Я записал последнюю строку для печати (out.decode (encoding = 'UTF-8')). В противном случае конец строки не может отображаться правильно. – Tony