python - 从另一个文件导入变量会产生错误
问题描述
我正在使用 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'
有谁知道为什么会发生这种情况以及如何导入该变量?
解决方案
由于您试图传递一个变量,因此您希望%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。
推荐阅读
- python - 如何将具有 1 级索引层次结构的 DataFrame 转换为 3 级索引层次结构
- c - (*exptr)->cnt 是否与 exptr->cnt 或 (*exptr).cnt 相同?
- c# - RichTextBox 光标不断变为 IBeam
- r - 将要执行的所有步骤代码一一解释
- c# - 第 1 列或第 2 列在同一个表上具有 2 个连接的实体框架
- sql-server - SQL Server CLR 方法随机超时
- javascript - 如何根据条件摆脱对象的某些属性?
- git - 吉特
自动远程跟踪分支 - python - 如何在 macOS 中为 pySerial 确定 Arduino 的端口号
- typo3 - TYPO3 - direct_mail - fe_user - 退订