我已经完成了在子流程中运行批处理文件的逻辑,并且可以正常工作。
query = 'C:/val/start.bat'
process = subprocess.Popen(query, shell=False, stdout=subprocess.PIPE)
cmd窗口出现并运行良好,但是我看不到任何需要打印的日志。
当我直接从Windows运行批处理文件时,通常会生成日志。
批处理文件调用并执行jar文件。
@echo off
"%JAVA_HOME%\bin\java" -Dfile.encoding=utf-8 -Djava.file.encoding=UTF-8 -jar -Xms1024m -Xmx1024m C:\val\val.jar
pause>nul
您能告诉我问题出在哪里以及如何解决吗?
答案 0 :(得分:0)
您需要获取输出。
import subprocess
process = subprocess.Popen('command', stdout=subprocess.PIPE)
process.wait()
result = process.stdout.read()