【错误记录】执行 Python 程序报错 ( NameError: name ‘reload‘ is not defined )

2023-03-29 18:34:30 浏览数 (3)

文章目录

  • 一、报错信息
  • 二、解决方案

一、报错信息


在 Windows 的 cmd 命令行运行 python 脚本时 , 报如下错误 :

执行

代码语言:javascript复制
python ApkTool.py -analyse -inapk app-debug.apk

命令 , 报错 :

代码语言:javascript复制
D:02_Project11_PythonAPK>python ApkTool.py -analyse -inapk app-debug.apk
Traceback (most recent call last):
  File "D:02_Project11_PythonAPKApkTool.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

,

在代码中添加了

代码语言:javascript复制
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

及以下版本 :

代码语言:javascript复制
import sys
reload(sys)
sys.setdefaultencoding('utf8')

Python

3.3

及以下版本 :

代码语言:javascript复制
import imp
imp.reload(sys)

Python

3.4

及以上版本 :

代码语言:javascript复制
import importlib
importlib.reload(sys)

0 人点赞