首页 > 解决方案 > 从另一个文件导入变量会产生错误

问题描述

我正在使用 Python 的 Jupyter Notebooks,并且一直在尝试从同一文件夹中的另一个文件中导入一个名为thresh_mean的变量。

import scipy.io as sio
import seaborn as sns
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from firstsound import thresh_mean #this line

但是,我收到此错误:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-42-1ee7c2613f81> in <module>
      4 import pandas as pd
      5 import matplotlib.pyplot as plt
----> 6 import firstsound

ModuleNotFoundError: No module named 'firstsound'

有谁知道为什么会发生这种情况以及如何导入该变量?

标签: pythonvariablesjupyter-notebookpython-import

解决方案


由于您试图传递一个变量,因此您希望%store在定义它之后使用源笔记本中的某处执行命令,然后通过在后面添加-r选项%store以指示读取将其读入您的另一个笔记本。见这里和#9这里

#next line run in source notebook
%store thresh_mean

#next line run in notebook trying to read the serialized variable
%store -r thresh_mean

(如果您要使用它们并将它们传递到您自己的 Jupyter 环境之外,您可能需要考虑使用pickle来序列化和传递变量。)

如果它是一个函数,您可以使用import-ipynb。还有nbimporter


推荐阅读