【发布时间】:2017-06-29 01:01:45
【问题描述】:
我正在编写 Python Notebook,我希望将 大型输入代码 [input] 打包到 [* .PY] 文件中并从笔记本中调用这些文件。
我知道从 Notebook 运行 [.PY] 文件的操作,并且命令在 Linux 或 Windows 之间有所不同。 但是当我执行此操作并从笔记本执行 [.PY] 文件时,它无法识别笔记本中加载的任何现有库或变量(就像 [.PY]文件从零开始...)。
有没有办法解决这个问题?
该问题的一个可能的简化示例如下:
In[1]:
import numpy as np
import matplotlib.pyplot as plt
In[2]:
def f(x):
return np.exp(-x ** 2)
In[3]:
x = np.linspace(-1, 3, 100)
In[4]:
%run script.py
其中“script.py”有以下内容:
plt.plot(x, f(x))
plt.xlabel("Eje $x$",fontsize=16)
plt.ylabel("$f(x)$",fontsize=16)
plt.title("Funcion $f(x)$")
- 在真正的问题中,文件 [* .PY] 没有 4 行代码,它已经足够了。
【问题讨论】:
-
您的
x变量是您的.ipynb文件的本地变量,不是您的.py文件。.py文件不知道x。找到一种在脚本之间传递该值的方法。from myfile.ipynb import x之类的东西(不知道您是否可以使用.ipynb文件进行这种类型的导入,但您明白我的意思吗? -
感谢您的回复。我想要的是笔记本的编码不是很重......