一、报错信息
在 Windows 的 cmd 命令行运行 python 脚本时 , 报如下错误 :
执行
python ApkTool.py -analyse -inapk app-debug.apk
命令 , 报错 :
D:\002_Project\011_Python\APK>python ApkTool.py -analyse -inapk app-debug.apk
Traceback (most recent call last):
File "D:\002_Project\011_Python\APK\ApkTool.py", line 8, in <module>
reload(sys)
NameError: name 'reload' is not defined

二、解决方案
这是由于上午在 PyCharm 中开发时处理的问题导致 , 参考 【错误记录】PyCharm 运行 Python 程序报错 ( UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xe5 in positio ) ;
在 PyCharm 中 , 使用的 Python 版本是 2.7 2.7 2.7 ,
在代码中添加了
import sys
reload(sys)
sys.setdefaultencoding('utf8')
内容 , 解决了 UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128) 问题 ;
这里注意 , 不同的 Python 版本 , 解决上述问题的方式不同 ;
Python 2.7 2.7 2.7 及以下版本 :
import sys
reload(sys)
sys.setdefaultencoding('utf8')
Python 3.3 3.3 3.3 及以下版本 :
import imp
imp.reload(sys)
Python 3.4 3.4 3.4 及以上版本 :
import importlib
importlib.reload(sys)

本文讲述了在Windows cmd中运行Python 2.7脚本时遇到的'NameError: name 'reload' is not defined'报错,解决方法是针对不同Python版本修改sys模块设置。详细解释了Python2.7、Python3.x的解决方案。
543





