Jupyter使用py文件代码
在Jupyter
中使用py文件
中的代码时,可使用包sys
引入路径后,再进行调用。但是这样存在一个问题,每次修改py文件中的代码时,需要重启才能正确使用修改过后的py文件
代码,这样是非常没有效率的。
那么在Jupyter cell
中可以通过如下几行命令以及包importlib
,在每次py
文件有修改时,自动引入更改后的该模块:
%load_ext autoreload %autoreload 1 %aimport heihei
比如在这里,我有一个python
文件(模块)叫做heihei
。下面我来展示如何在jupyer
中使用上述几行命令,使得在对heihei
进行修改后,不用restart
而直接使用更改后的heihei
代码。
代码
首先,我有两个文件夹,ipynb
以及src
,我要执行的.ipynb
文件存放在文件夹ipynb
中,heihei.py
位于src
文件夹中,其中有一个方法叫做print_info()
,具体代码如下:
def print_info(): print("Hello, Hello, This is ober.") print("Oh my god.") print("fungu.") print("真的改了么?")
一开始,需要使用包sys
引入src/heihei/
:
import sys import importlib sys.path.append('../src/')
同时可以看到,引入了一个包importlib
。
%load_ext autoreload %autoreload 1 %aimport heihei # 引入heihei模块使用该魔法命令 importlib.reload(heihei)
接下来可以先尝试直接运行heihei.print_info()
,在对print_info()
方法中的最后一行信息注释后,再运行。结果如下图所示:
额外
importlib.reload(heihei)
,reload方法只能重载模块,如果不想使用heihei.print_info()
而是想使用print_info()
运行,那么需要在每次修改完对应的部分后,从该模块导入待执行的方法,如from heihei import print_info
,之后运行print_info
便能看到改变了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏