Jupyter Notebook具有%load
的魔力,可以将代码加载到笔记本的单元格中。
%load start.py
此行将start.py
的内容加载到当前单元格中。执行后,魔术会自动注释掉。
# %load start.py
import numpy as np
import pandas as pd
Jupyter Notebook还具有%autoreload
扩展名,可以在执行代码之前重新加载模块。
%load_ext autoreload
%autoreload 2
from utils import load_data
如果load_data
函数发生更改,此扩展名可以在执行前检测并自动重新加载新函数。
有没有办法将这两个功能结合在一起?换句话说,如果start.py
的内容发生更改,如何在运行代码之前自动检测到更改并将其重新加载到单元格中?
例如,如果start.py
的内容现在是
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
我希望将单元格重新加载为:
# %load start.py
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
答案 0 :(得分:0)
我认为您正在尝试将事情超出预期的范围。
如果您想要入侵,如您提到的那样,可以从start.py
内导入一个函数,那么%autoreload
将为您提供所需的功能。如果您想查看.py
文件的内容,则可以与此混合使用:
with open("start.py") as f:
print(f.read())
然后,您可以根据需要轻松地复制并粘贴到单元格中。