jupyter调用py文件_解决Jupyter notebook中.py与.ipynb文件的import问题
在jupyter notebook中,因为其解析文件的方式是基于json的,所以其默认保存的文件格式不是.py而是.ipynb。而.ipynb文件并不能简单的import进.py或者.ipynb文件中,这就为开发带来了极大不便。因为在jupyter notebook中,一定要是在默认的.ipynb下才能有一系列的特性支持,比如自动补全,控制台等待,而.py文件只能通过文本编辑器修改,非常非常不便。
因为.ipynb可以import .py的module,所以其中一个解决方法是将已经写好的.ipynb格式的module转换成.py文件。在写好的.ipynb文件的最后新建一个cell,写入代码如下:
try:
!jupyter nbconvert --to python file_name.ipynb
# python即转化为.py,script即转化为.html
# file_name.ipynb即当前module的文件名
except:
pass
然后在当前目录下会生成一个同名的.py文件,这个module可以在其他.ipynb中被import。但这样转化出的.py文件中有时候会保留上述代码。如果要完全避免的话,可以专门另写一个转换文件,集中存放所有文件的转换语句。
补充知识:jupyter notebook的project管理——.ipynb中调用.py文件
做课题和数据挖掘竞赛用python比较多,比较常用的是在服务器终端输入jupyter notebook --ip 0.0.0.0,打开jupyter notebook的一个后台,并在本地windows电脑浏览器进入该服务端写python代码。
将.ipynb和.py结合,可以使得jupyter notebook的工程文件目录更有条理,一些函数可以定义在.py文件中,需要调用这些文件时,就导入到.ipybn中执行。
那在jupyter notebook中调用同,怎么在.ipynb.py中调用.py文件呢?
举个栗子:
在同一个目录下,有call_hello.ipynb和hello.py两个文件:
hello.py中定义了hello函数如下:
def hello():
print('say hello');
在call_hello.ipynb中调用hello()函数:
from hello import *
hello()
输出: say hello
但是修改.py文件中的代码后,必须在ipynb中reload模块,才会生效。
如果hello.py中的代码修改成:
def hello():
print('say hello,bye');
在call_hello.ipynb中再次调用hello()函数,依然输出:say hello
重新导入hello模块:
from imp import reload
reload(hello)
hello()
这时候会输出:say hello, bye
bingo!
以上这篇解决Jupyter notebook中.py与.ipynb文件的import问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
jupyter调用py文件_解决Jupyter notebook中.py与.ipynb文件的import问题相关推荐
- Java多线程读取excel文件_解决springboot 多线程使用MultipartFile读取excel文件内容报错问题...
springboot项目开启多线程 启动类加注解开启 @EnableAsync,实现类方法加注解 @Async 前端页面 报错信息 java.io.FileNotFoundException: C:\ ...
- python怎么编辑文件_如何使用python中的方法对文件进行修改文件名
在使用python语言中的方法操作文件时,打开方法可以直接使用open,但是对文件重命名需要调用os模块中的方法,删除文件也是 工具/原料 python 编辑器 截图工具 台式机 方法/步骤 1 进入 ...
- 群晖自动删除重复文件_在群晖中批量删除重复文件(零基础手把手图文)
在群晖中批量删除重复文件(零基础手把手图文) 2020-03-26 14:51:01 24点赞 229收藏 39评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限,点击 ...
- python中如何保存文件_如何在python中处理后保存文件?
我需要在处理后将所有文章放入同一文件夹,或者创建一个CSV文件.from bs4 import BeautifulSoup import glob import os, os.path path = ...
- 解决deepin系统中某磁盘的文件为只读文件
解决deepin系统中某磁盘的文件为只读文件 1.查看磁盘位置 df-h 显示 文件系统 容量 已用 可用 已用% 挂载点 udev 7.8G 0 7.8G 0% /dev tmpfs 1.6G 3. ...
- python没有菜单栏_解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
出现的问题状况是:在Anaconda文件下,少了Jupyter Notebook快捷键,不然每次都要打开Anaconda Navigator再打开Jupyter Noterbook,有点麻烦.为了避免 ...
- Jupyter notebook中.py与.ipynb文件的import问题
在jupyter notebook中,因为其解析文件的方式是基于json的,所以其默认保存的文件格式不是.py而是.ipynb.而.ipynb文件并不能简单的import进.py或者.ipynb文件中 ...
- ipython notebook打不开_解决jupyter notebook打不开无反应 浏览器未启动的问题
解决jupyter notebook打不开无反应 浏览器未启动的问题 问题: 这几天要看几个ipython格式的文件,但是jupyter notebook打开之后一直卡在命令行的界面那里(如图),然后 ...
- jupyter导出存什么文件_使用jupyter notebook将文件保存为Markdown,HTML等文件格式
在jupyter notebook运行的页面内,找到如下图片下载格式,选择相应下载格式就可下载保存到本地文件. 补充知识:jupyter notebook的project管理――.ipynb中调用.p ...
最新文章
- 史上最全开源中文 NLP 数据集:包括10大类、142条数据源,总有你钟意的那一款!...
- mqtt连接失败_Netty实战:如何让单机下Netty支持百万长连接?
- 科大星云诗社动态20210826
- 附加数据库时出错。有关详细信息,请单击“消息”列中的超链接。
- Facebook推出人脸识别新功能,防止用户肖像遭滥用
- 高并发服务设计——缓存(转载)
- 零基础跨行学习Java是否可行
- [学]《Python 核心编程》学习笔记(五)
- 关于MD5加密,及linux环境获取文件MD5值的脚本
- Solidworks工程图模板之自定义文件属性与零件图关联
- 三星数据被黑客泄露、罗马尼亚加油站网络遭勒索攻击|3月8日全球网络安全热点
- sai笔记3-钢笔图层
- HTML排版一首古诗,古诗句排版正确方式
- vtuber面部捕捉工具_NOKOV(度量)动作捕捉携专业虚拟直播解决方案亮相世界VR产业大会...
- 惊爆:普通人也能监听你MSN聊天(转)
- PHP Screw php代码解密,运用php screw进行源代码加密
- 巅峰战舰 服务器维护,《巅峰战舰》停止充值关闭服务器公告
- 仿照中国银行页面进行编写,主要涉及到float,定位
- 王城英雄无限钻石服务器,王城英雄无限钻石版
- linux操作系统安装自定义分区,CentOS linux操作系统安装图文教程
热门文章
- 32位/64位机上常用数据类型字节数(C语言)
- mysql导入的sql文件导入到哪里了_mysql导入导出sql文件
- 弱网测试用什么农_弱网测试--使用fiddler进行弱网测试
- python生成词云_词云制作没那么难,Python 10 行代码就实现了!
- ogg for java_luogg_java学习_04_数组
- c语言为什么运行慢,【图片】今天写几个性能测试,为什么C语言跑得这么慢呢??【c语言吧】_百度贴吧...
- linux打开端口访问权限54321,3.5.1 访问不存在的端口
- python max函数时间复杂度_程序员的思考:用函数还是用复杂表达式
- 理解 Linux 条件变量
- Matlab图像处理应用举例2