我正在尝试用 Python 重写这个批处理行:
mkdir %TEMP%\FW >> %LOGDETAILS% 2>&1
使用 subprocess.call() 时,如果您使用字典配置进行日志记录,如何将其设置为将 stdout 重定向到日志文件?
到目前为止,我的 Python 代码看起来像这样(这只是其中的一部分):
DICT_CONFIG = {#I have my settings in here}
logging.config.dictConfig(DICT_CONFIG)
logdetails = logging.getLogger('SikuliScriptDetails_Logger')
def my_function():
logdetails.info("---------Benginning Tests--------------")
#Set Project Name, Disable Feedback Dialogs by setting launches to 41
returncode = subprocess.call(["regedit", "-s", "MainFolder/FwSetup.reg"], stderr = STDOUT, stdout = logdetails)
在我准备好一些其他模块之前,我有一段时间无法测试我的程序。但是我的重定向尝试正确吗?这是否能够将输出["regedit", "-s", "MainFolder/FwSetup.reg"]
记录到我的 logdetails 文件记录器中?
我是否有必要stderr = STDOUT
像在将标准输出发送到 logdetails 文件记录器之前那样先做?
还有,有人知道41是什么意思吗?我不知道该怎么办。
PS:我已经看过这个了,但我仍然不明白,因为他们没有使用字典配置进行日志记录。
更新: PS:我还查看了此信息以了解批处理代码行。
UPDATE2:对不起,我在开始时给了你错误的代码行。我应该在这里粘贴的批处理文件是:
"regedit", "-s", "VBoxScripts/FwSetup.reg"
不是这个:mkdir %TEMP%\FW >> %LOGDETAILS% 2>&1
谢谢。