相关疑难解决方法(0)

pickle无法导入存在的模块?

为什么会发生这种情况?

import window; print "LOADED"; data = cPickle.loads(data)
Run Code Online (Sandbox Code Playgroud)

结果是:

LOADED
Traceback (most recent call last):
...
    import window; print "LOADED"; data = cPickle.loads(data)
exceptions.ImportError: No module named window
Run Code Online (Sandbox Code Playgroud)

如果可以的话import windowcPickle它可以很好地加载模块,但是在加载时似乎不起作用。

有关一些可能相关的其他信息:

我保存文件的模块在中project1\MODULE\submodule\main.py。该window模块project1\MODULE\window.pymain.py开始:

import sys
sys.path.append("..\\..")
sys.path.append("..")
...
import window
Run Code Online (Sandbox Code Playgroud)

我尝试从中加载的模块位于in project2\project2sub\MODULE\data.py,没有弄乱sys路径。

MODULE在两种情况下都是相同的:我要加载的模块是project2\project2sub\MODULE\window.py

可能sys.path以某种方式将附加内容弄乱吗?

python import module pickle

4
推荐指数
2
解决办法
7522
查看次数

标签 统计

import ×1

module ×1

pickle ×1

python ×1