python脚本编写----cmd控制台编码格式问题

        最近用python编写一个上报模块,主要是通过jar包进行上传操作,由于涉及到传入参数中有“中文”,则会导致脚本运行在windows下失败。下面记录一下涉及的问题:

核心代码如下:

ss = os.popen('java -jar %s %s %s %s %s %s %s %s' %(jarname,Viruspath,OS,MD5,VirusName,FamilyName,VariantName,Attribute.decode('utf-8').encode('gbk')))    

其中

Attribute.decode('utf-8').encode('gbk')

为中文参数。

首先要介绍一下编码格式问题:

1、脚本本身定义为utf-8的编码格式

2、由于os.popen是运行在cmd控制台上的,而windows下的编码格式为gbk

3、所以利用decode('utf-8').encode('gbk')进行把utf-8格式转化为unicode,然后在把unicode转化为gbk格式

实际遇到的问题是:在windows平台下 ,通过decode('utf-8').encode('gbk')转化为 传入参数未乱码,导致无法执行

而在linux下,则不用涉及转化编码的格式,直接可以运行成功。


相关参考链接:https://blog.csdn.net/wyongqing/article/details/70410999

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值