python stdout stderr 一起输出_python – 使用subprocess.Popen()时,stderr和stdout没有输出

我正在使用

Python来自动化SVN提交,我想将SVN命令的输出写入日志文件.我有的代码可以使SVN运行,但问题是在成功提交时,子进程调用不会返回我的日志的任何输出.

当我手动运行SVN时,通过比较,我得到输出,显示命令的进度并显示正在提交的文件.这就是我想要的日志文件. SVN是否将数据输出到缓冲区而不是stdout或stderr?如何为我的日志捕获该数据?

这是我正在使用的代码:

cmd = "svn commit --non-interactive --no-auth-cache -m 'Automatic commit' ./"

process = subprocess.Popen(cmd,

shell=True,

stdout=subprocess.PIPE,

stderr=subprocess.PIPE,

universal_newlines=True)

result = process.wait()

# Output

out = process.stdout.read()

err = process.stderr.read()

当我运行此代码并且提交成功时,out和err变量都是空的.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值