ipython及ipython notebook常用操作

  • ? :内省
In [18]: b
Out[18]: [1, 2, 3]

In [19]: b?
Type:        list
String form: [1, 2, 3]
Length:      3
Docstring:
list() -> new empty list
list(iterable) -> new list initialized from iterable's items


In [24]: import datetime

In [26]: datetime.d*?
datetime.date
datetime.datetime
datetime.datetime_CAPI


In [20]: def aa():
    ...:     return 1 + 2
    
In [23]: aa??
Signature: aa()
Source:
def aa():
    return 1 + 2
File:      c:\users\administrator\<ipython-input-20-1dd770e0920c>
Type:      function
  • %run :执行文件
%run my_test.py
  • 粘贴代码
1. Ctrl-Shift-V
2. %paste
3. %cpaste


In [3]: cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:print(22)
:--
22
  • 快捷键
Ctrl-P    或上箭头键 后向搜索命令历史中以当前输入的文本开头的命令
Ctrl-N   或下箭头键 前向搜索命令历史中以当前输入的文本开头的命令
Ctrl-R   按行读取的反向历史搜索(部分匹配)
Ctrl-Shift-v   从剪贴板粘贴文本
Ctrl-C   中止当前正在执行的代码
Ctrl-A   将光标移动到行首
Ctrl-E   将光标移动到行尾
Ctrl-K   删除从光标开始至行尾的文本
Ctrl-U   删除从光标开始至行首的文本
Ctrl-F   将光标向前移动一个字符
Ctrl-b   将光标向后移动一个字符
Ctrl-L   清屏
  • 魔术命令
%quickref 显示IPython的快速参考
%magic 显示所有魔术命令的详细文档
%debug 从最新的异常跟踪的底部进入交互式调试器
%hist 打印命令的输入(可选输出)历史
%pdb 在异常发生后自动进入调试器
%paste 执行剪贴板中的Python代码
%cpaste 打开一个特殊提示符以便手工粘贴待执行的Python代码
%reset 删除interactive命名空间中的全部变量/名称
%page OBJECT 通过分页器打印输出OBJECT
%run script.py 在IPython中执行一个Python脚本文件
%prun statement 通过cProfile执行statement,并打印分析器的输出结果
%time statement 报告statement的执行时间
%timeit statement 多次执行statement以计算系综平均执行时间。对那些执行时  间非常小的代码很有用
%who、%who_ls、%whos 显示interactive命名空间中定义的变量,信息级别/冗余度可变
%xdel variable 删除variable,并尝试清除其在IPython中的对象上的一切引用
  • 输入和输出变量
最近的两个输出结果分别保存在 _ 和 __ 中
_X 保存输出变量
_iX 保存输入变量   X为ipython的行号
  • 和系统相关的ipython魔术命令
%alias ll ls -l 将ll作为ls -l的别名暂时保存
%!cmd 在系统shell中执行cmd
%output  = !cmd args 执行cmd,并将stdout存放在output中
%alias alias_name cmd 为系统shell命令定义别名
%bookmark 使用IPython的目录书签系统
%cd directory 将系统工作目录更改为directory
%pwd 返回系统的当前工作目录
%pushd directory 将目前目录入栈,并转向目标目录
%popd 弹出栈顶目录,并转向该目录
%dirs 返回一个含有当前目录栈的列表
%dhist 打印目录访问历史
%env 以dict形式返回系统环境变量
  • ipython与系统交互
以 ! 开始的命令行表示其后的命令在shell中执行

foo = 'test*'
!ls $foo  $符允许shell命令使用当前python环境中的变量

%alias ll ls -l  允许在ipython环境中定义别名
ll /usr

%bookmark db /home/oracle   目录书签,能保存常用的路径,自动持久化
cd db
  • debug
%debug  :在代码发生异常后,进入调试器
%pdb  :IPYTHON在代码发生异常后,自动进入调试器

进入调试器后,u和d切换执行的栈

也可以设置断点等等,不写了,自己用不到
  • 测试代码执行时间
%time  :一次执行一条语句,报告总体执行时间
%timeit  :执行多次,产生平均执行时间

In [4]: strings = ['foo', 'foobar', 'sdf', 'eee'] * 100000

In [6]: %time method1 = [x for x in strings if x.startswith('foo')]
Wall time: 155 ms
In [7]: %timeit method1 = [x for x in strings if x.startswith('foo')]
10 loops, best of 3: 142 ms per loop
  • ipython notebook
参考博客
http://blog.csdn.net/tina_ttl/article/details/51031113


ipython notebook 或 jupyter notebook  :启动

修改文件的默认保存路径:
jupyter notebook --generate-config  会生成一个配置文件到用户目录下  .jupyter/jupyter_notebook_config.py
修改配置文件c.NotebookApp.notebook_dir = r'G:/notebook'即可

快捷键
执行当前cell,并自动跳到下一个cell:Shift Enter
执行当前cell,执行后不自动调转到下一个cell:Ctrl-Enter
是当前的cell进入编辑模式:Enter
退出当前cell的编辑模式:Esc
删除当前的cell:dd
在当前cell下加入一个cell: b
为当前的cell加入line number:l
进入markdown编辑模式: m
退出markdown编辑模式: y
为一行或者多行添加/取消注释:Crtl /
撤销对某个cell的删除:z
浏览器的各个Tab之间切换:Crtl PgUp和Crtl PgDn

%load test.py  可以将当前目录下的test.py文件load到cell中,也可以将文件直接拖到cell里

%run test.py  运行文件

!pwd 或 %pwd 支持命令行命令


  • 使用docker安装jupyter服务
1. 安装docker
2. 获取镜像 sudo docker pull jupyter/datascience-notebook
3. 生成token: 
   import IPython
   IPython.lib.passwd()
4. 启动镜像 docker run -it -d -p 8888:8888 -v /home/stock/jupyter_notebook_workdir:/home/jovyan/ jupyter/datascience-notebook start-notebook.sh --NotebookApp.password='sha1:c0a3b1289148:63e430cc1234324409d227dcc3231'
5. 访问 http://10.97.88.71:8888, 输入密码

注: 若新建文件没有权限, 可能是 jupyter_notebook_workdir 这个目录权限不够, 改为777试试
注: 里面默认没有mysql的驱动, 可以在需要时, 打开jupyter中的terminal, 临时使用conda install -c anaconda mysql-connector-python  安装


相关文档
https://jupyter-docker-stacks.readthedocs.io/en/latest/
https://blog.csdn.net/jianchengss/article/details/78224778
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值