使用SVN diff 乱码问题

最近在做一个小功能,获取SVN配置库从指定时间起修改的所有文件。查阅好多信息,用svn diff命令及加入--summarize参数能得到想要的数据。命令如下:

svn diff -r {2024-1-10} --summarize Repo(配置库地址)

截取显示乱码字符如下,在使用--summarize参数时,获取到的是乱码数据,不能正常显示。比较有意思的是,不用summarize参数用svn diff获取到的数据是正常的,加上该参数得到的是乱码。如有清楚原因的大神请指教。

查阅了很多资料,最后借助如下博主的办法解决:

https://blog.csdn.net/weixin_42649856/article/details/102796048

贴上代码:

from urllib.parse import unquote
import subprocess
def getsvnfilelist():
    svn_cmd_run = subprocess.run("svn diff -r %s --summarize %s" % (startDate,SVNpath),
                                 shell=True,stdout=subprocess.PIPE).stdout
    svn_cmd_stdout = unquote(svn_cmd_run.decode('gbk'))
    print(svn_cmd_stdout)

进行编码转换后,能获得正常数据,截图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ_7亓

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值