Python的默认编码是ascii,当出现非ascii编码的时候,python的处理常常会报如下的错误:
UnicodeEncodeError: 'ascii' codec can't encode characters in position 38-39: ordinal not in range(128)
所以,我们要用到中文的时候,可以修改系统的默认编码格式为utf-8
import sys
reload(sys)
sys.setdefaultencoding('utf8')
使用os.listdir(filePath):时,filepath中含有中文的情况下,会出现以下异常:
WindowsError: [Error 3] : '//172.16.1.123/smb/APK/\xe4\xbd\xa0\xe5\xa5\xbd/*.*'
这里我的解决方法是把filepath含有中文的路径分开写,写成PATH = "//172.16.1.123/apk/install"+u"/你好"
如果我们把编码格式都改成utf-8之后,此时若是使用python在cmd中输入含有中文命令,
例如adb install /172.16.1.123/apk/install/你好/捕鱼达人.apk的时候,仍会报错,因为cmd中默认编码为gbk。
所以,要在此str后面加上转换编码格式为gbk的代码
str = "/172.16.1.123/apk/install/你好/捕鱼达人.apk"
str.encode('gbk')