我是靠谱客的博主 彩色西牛,最近开发中收集的这篇文章主要介绍Jupyter notebook避免重复造轮子绝技之Snippets插件使用场景使用前提使用方法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 使用场景
- 使用前提
- 添加增加轮子的功能
- 添加删除轮子功能
- 使用方法
- 增加轮子方法
- 删除轮子方法
使用场景
在日常程序的编写中,有很多重复的代码一直再重复,另外有时这类代码很难记忆,又必不可缺,每次使用都需要百度查找相关代码,在这里提供一种便利的方式,提高编写代码效率。
使用前提
- 已有Jupyter botebook
- 安装Jupyter notebook extensions 扩展插件
python -m pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user --skip-running-check
选择Nbextensions,添加Snippets扩展程序。
由于Snippets扩展程序要添加重复的代码块必须写代码,那能不能写一次代码一劳永逸呢?不错还真有,真是奇淫巧计啊,哈哈哈。
添加增加轮子的功能
#创建删除轮子
import json
#重复代码名字
name="增加轮子(默认覆盖)"
#重复代码内容
information=
'''
import json
#重复代码名字
name="解决中文无法显示"
#重复代码内容
information=\
'''
'''
path = get_ipython().getoutput('jupyter --data-dir')
path = "".join([path[0], r"/nbextensions/snippets/snippets.json"])
snips = {
"name": name,
"code": [
information
]
}
fr = open(path, 'r', encoding='UTF-8')
mode = json.load(fr)
fr.close()
for i in range(0, len(mode['snippets'])):
if mode['snippets'][i]['name'] == name:
del mode['snippets'][i]
break
mode['snippets'].append(snips)
jsObj = json.dumps(mode)
with open(path, "w") as fw:
fw.write(jsObj)
fw.close()
'''
path = get_ipython().getoutput('jupyter --data-dir')
path = "".join([path[0], r"/nbextensions/snippets/snippets.json"])
snips = {
"name": name,
"code": [
information
]
}
fr = open(path, 'r', encoding='UTF-8')
mode = json.load(fr)
fr.close()
for i in range(0, len(mode['snippets'])):
if mode['snippets'][i]['name'] == name:
del mode['snippets'][i]
break
mode['snippets'].append(snips)
jsObj = json.dumps(mode)
with open(path, "w") as fw:
fw.write(jsObj)
fw.close()
添加删除轮子功能
#创建新增轮子
import json
#重复代码名字
name="删除轮子"
#重复代码内容
information=
'''
path = get_ipython().getoutput('jupyter --data-dir')
path = "".join([path[0], r"/nbextensions/snippets/snippets.json"])
#批量删除列表
del_list=[""]
def del_Snippets():
fr = open(path, 'r', encoding='UTF-8')
mode = json.load(fr)
for index,i in enumerate(mode['snippets']):
if i['name'] in del_list:
print(f"正在删除{mode['snippets'][index]}")
del mode['snippets'][index]
jsObj = json.dumps(mode)
with open(path, "w") as fw:
fw.write(jsObj)
fw.close()
print("正在保存数据")
del_Snippets()
'''
path = get_ipython().getoutput('jupyter --data-dir')
path = "".join([path[0], r"/nbextensions/snippets/snippets.json"])
snips = {
"name": name,
"code": [
information
]
}
fr = open(path, 'r', encoding='UTF-8')
mode = json.load(fr)
fr.close()
for i in range(0, len(mode['snippets'])):
if mode['snippets'][i]['name'] == name:
del mode['snippets'][i]
break
mode['snippets'].append(snips)
jsObj = json.dumps(mode)
with open(path, "w") as fw:
fw.write(jsObj)
fw.close()
使用方法
增加轮子方法
import json
#重复代码名字
name="解决中文无法显示"
#重复代码内容
information=
'''
'''
path = get_ipython().getoutput('jupyter --data-dir')
path = "".join([path[0], r"/nbextensions/snippets/snippets.json"])
snips = {
"name": name,
"code": [
information
]
}
fr = open(path, 'r', encoding='UTF-8')
mode = json.load(fr)
fr.close()
for i in range(0, len(mode['snippets'])):
if mode['snippets'][i]['name'] == name:
del mode['snippets'][i]
break
mode['snippets'].append(snips)
jsObj = json.dumps(mode)
with open(path, "w") as fw:
fw.write(jsObj)
fw.close()
删除轮子方法
path = get_ipython().getoutput('jupyter --data-dir')
path = "".join([path[0], r"/nbextensions/snippets/snippets.json"])
#批量删除列表
del_list=[""]
def del_Snippets():
fr = open(path, 'r', encoding='UTF-8')
mode = json.load(fr)
for index,i in enumerate(mode['snippets']):
if i['name'] in del_list:
print(f"正在删除{mode['snippets'][index]}")
del mode['snippets'][index]
jsObj = json.dumps(mode)
with open(path, "w") as fw:
fw.write(jsObj)
fw.close()
print("正在保存数据")
del_Snippets()
添加成功。
最后
以上就是彩色西牛为你收集整理的Jupyter notebook避免重复造轮子绝技之Snippets插件使用场景使用前提使用方法的全部内容,希望文章能够帮你解决Jupyter notebook避免重复造轮子绝技之Snippets插件使用场景使用前提使用方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复