我正在通过jython os.system命令运行shell命令。我的代码如下:
import os
import sys
vCmdLine = "sh C:/scripts/WAQ.sh PARAM_1 PARAM_2 >> C:/logs/WAQ.log 2>&1"
vCmdRC = os.system(vCmdLine)
我的shell有几个echo命令,我想在C:/logs/WAQ.log
文件中编写。
如果我在unix OS上执行相同的代码,代码工作正常。但是,当我在Windows上运行相同时,它不会在C:/logs/WAQ.log
文件中写入任何内容。我在windows上使用unix util lib。
问题是什么?
答案 0 :(得分:0)
我已经更改了代码并用subprocess.call替换了os.system,现在记录完美了。以下是我的代码
import subprocess
vLogFileName = 'C:/logs/WAQ.log'
vCmdLine = "sh C:/scripts/WAQ.sh PARAM_1 PARAM_2"
f = open(vLogFileName, "a")
subprocess.call(vCmdLine, stdout=f)
f.close()
为什么日志记录不能在windows上使用os.system?