ipythonnotebook_用 IPython notebook 编写测试脚本

背景

以前写脚本的时候会发现某一行脚本运行不了了,会去修改这一行,但是要想知道是否修改是否生效,则需要把脚本从头开始运行,直到我们修改的那一行。每次都是这样的轮回很费时间,更无奈的是耐心被渐渐的消磨。

昨天不知道怎么了,突然想打开IPython notebook玩玩。结果一发不可收拾,把一个项目的新手流程脚本用IPython重头到尾一天就写好了。实在是太适合写测试脚本了。

ipython notebook的安装和使用入门 pip install jupyter ipython

jupyter notebook # 执行后会自动打开浏览器

依次选择 New -> Python2, 创建一个Python2的Notebook,随便写点代码

这里面,每一个代码块都可以单独运行。而不用从文件的第一行开始,效率大大的提升。

比如我想修改print_stars函数,将*换成真正的星星,修改完之后,只要重新运行下面两个代码块就可以

jupyter保存的文件的扩展名是 .ipynb, 实际上这是一个json文件。

命令行运行ipynb文件

通常的办法是先将ipynb文件转化成py文件,然后在运行。不过感觉有点麻烦,经过我不懈的Google终于发现了一种非常简洁的办法。

# Refs: https://github.com/paulgb/runipy

$ pip install runipy

$ runipy mynotebook.ipynb

01/27/2018 01:22:10 PM INFO: Running cell:

import os

import uiautomator2

import functools

01/27/2018 01:22:10 PM INFO: Cell returned

01/27/2018 01:22:10 PM INFO: Running cell:

def print_stars(n):

print '*' * n

01/27/2018 01:22:10 PM INFO: Cell returned

01/27/2018 01:22:10 PM INFO: Running cell:

print_stars(5)

01/27/2018 01:22:10 PM INFO: Cell returned

01/27/2018 01:22:10 PM INFO: Running cell:

01/27/2018 01:22:10 PM INFO: Cell returned

01/27/2018 01:22:10 PM INFO: Shutdown kernel

runipy的好处是,可以在运行代码的时候把代码也直接打印了出来,非常方便看代码运行进度。(奇怪,在我mac上竟然没有输出)

或者用个比较长的命令,转化成py再运行

jupyter nbconvert --to script --execute --stdout mynotebook.ipynb | python

打造更好看的jupyter notebook

安装方法

pip install jupyterthemes

然后就是通过命令行调整主题

# dark

jt -t onedork -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T

# light

jt -t grade3 -fs 95 -altp -tfs 11 -nfs 115 -cellw 88% -T

# 我最喜欢的一种风格,暗色monokai风格,ubuntu字体,宽带调整为88%的宽屏模式

jt -t monokai -f ubuntu -cellw 88%

# 恢复成原有的样式

jt -r

PS:mac上的字体本身就很好看,不用调

使用VSCode内置的ipython

vscode内置的ipython也挺好用的,只要在代码的上面一行加上 #%% 就会看到 Run cell的按钮,点击之后就能运行直到下一个#%%的代码了。

下面是官网给出的一个演示图,详情

尾声

具体的介绍就写到这里,大家周末愉快。我去看雪去了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值