python中调用CMD命令 操作svn 携带中文路径时,必须得转成gbk,否则是乱码,不能正常执行
def getinbfo(cmdsvn):
rootLog = os.popen(r"%s" % (cmdsvn), "r")
print(rootLog)
print('22222222')
res = rootLog.read() # 获取的文件日志信息
print(res)
return res
def Config_Management_custom_data_svn_verify(request):
# request.POST.get(u"SVN_path")
SVN_path = request.POST.get(u"SVN_path")
SVN_user = request.POST.get(u"SVN_user")
SVN_password = request.POST.get(u"SVN_password")
print(SVN_path)
print(SVN_user)
print(SVN_password)
cmdContent = 'svn log -l 1 "%s" --username "%s" --password "%s" --no-auth-cache --non-interactive --trust-server-cert' % (
SVN_path, SVN_user, SVN_password)
cmdContent = cmdContent.encode("gbk") # 必须得转成gbk,否则是乱码,不能正常执行
res = getinbfo(cmdContent) # 获取的文件log
if res == '': # 失败
print('333333333333')
return HttpResponse(True)