python-3.x - ModuleNotFoundError: 没有名为“copy_reg\r”的模块
问题描述
我正在尝试在我的 Windows 机器中执行 python 代码,在其中我导入了 pickle 并且我已经加载了文件,但由于某种原因,它给出了这个名为 ModuleNotFound 的错误,我不知道 pickle 与“有什么关系”复制注册\r'
这是我的代码:
from six.moves import cPickle
def openfile(basename):
with open(os.path.join(DIR_PATTERNS, basename), 'rb') as fh:
return cPickle.load(fh)
#return open(os.path.join(DIR_PATTERNS, basename), 'rb')
HAVE_FSAs = openfile("HAVE_FSAs.pickle")
这是错误:
HAVE_FSAs = cPickle.load(openfile("HAVE_FSAs.pickle"))
ModuleNotFoundError: No module named 'copy_reg\r'
我已经尝试过import pickle as cPickle
,但它对我不起作用。所有的变量都被声明了,所以它不可能是那样,而且,我不明白为什么它会给出 ModuleNotFound
解决方案
python3 有 copyreg,没有 copy_reg。因此您可以更正源代码,例如,您需要删除代码:
import copy_reg
然后,您必须替换:
import copyreg