首页 > 解决方案 > 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

标签: python-3.xwindows-10pickle

解决方案


python3 有 copyreg,没有 copy_reg。因此您可以更正源代码,例如,您需要删除代码:

import copy_reg

然后,您必须替换:

import copyreg

推荐阅读