ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux下使用IPython编程工具

2020-02-03 21:55:07  阅读:254  来源: 互联网

标签:magic 函数 %% 编程 dev linux IPython tmpfs


1、安装IPython工具

IPython是一个第三方工具,使用以下命令进行安装:

[root@python ~]# pip install ipython        #安装ipython
[root@python ~]# ipython             #执行ipython进入IPython交互式界面
Python 3.8.1 (default, Feb  3 2020, 18:39:50) 
Type 'copyright', 'credits' or 'license' for more information
IPython 7.12.0 -- An enhanced Interactive Python. Type '?' for help.
In [1]: sum=0                                                            

In [2]: for i in range(10): 
   ...:     sum+=i 
   ...: print(sum)                                                       
45
In [3]: import os                                                        
In [4]: os.getlogin()                                                    
Out[4]: 'root'

Ipython具有以下特性:

  • 支持语法高亮;
  • 自动缩进;
  • Tab补全;
  • 快速获取帮助信息;
  • 搜索历史;
  • 执行shell命令;

2、magic函数

IPython提供了很多功能强大的函数,所有IPython提供的函数都以“%”开头。以“%”开头的这类功能强大的函数,在IPython中称为magic函数。magic函数主要是为IPython提供增强的功能、与操作系统交互、操纵用户的输入和输出以及对IPython进行配置。

可以通过以下指令来获取magic函数列表,如下:

In [28]: %lsmagic                #以下任意函数都可以加?号来查询函数对应的功能,如:%save?
Out[28]: 
Available line magics:
%alias  %alias_magic  %autoawait  %autocall  %autoindent  %automagic  %bookmark  %cat  %cd  %clear  %colors  %conda  %config  %cp  %cpaste  %debug  %dhist  %dirs  %doctest_mode  %ed  %edit  %env  %gui  %hist  %history  %killbgscripts  %ldir  %less  %lf  %lk  %ll  %load  %load_ext  %loadpy  %logoff  %logon  %logstart  %logstate  %logstop  %ls  %lsmagic  %lx  %macro  %magic  %man  %matplotlib  %mkdir  %more  %mv  %notebook  %page  %paste  %pastebin  %pdb  %pdef  %pdoc  %pfile  %pinfo  %pinfo2  %pip  %popd  %pprint  %precision  %prun  %psearch  %psource  %pushd  %pwd  %pycat  %pylab  %quickref  %recall  %rehashx  %reload_ext  %rep  %rerun  %reset  %reset_selective  %rm  %rmdir  %run  %save  %sc  %set_env  %store  %sx  %system  %tb  %time  %timeit  %unalias  %unload_ext  %who  %who_ls  %whos  %xdel  %xmode

Available cell magics:
%%!  %%HTML  %%SVG  %%bash  %%capture  %%debug  %%file  %%html  %%javascript  %%js  %%latex  %%markdown  %%perl  %%prun  %%pypy  %%python  %%python2  %%python3  %%ruby  %%script  %%sh  %%svg  %%sx  %%system  %%time  %%timeit  %%writefile

Automagic is ON, % prefix IS NOT needed for line magics.

3、使用IPython与操作系统交互

IPython可以更好的与操作系统交互,在使用Python进行交互编程时,不用退出Python shell 就可以执行linux命令,magic函数里的%cd和%pwd作用相当于linux下的cd命令和pwd命令,此外,在IPython中,可以通过“!cmd”的形式执行任何Linux命令,如下:

#直接交互
In [31]: %pwd                                                            
Out[31]: '/root'

In [32]: %cd /usr/src/                                                   
/usr/src

In [33]: %pwd                                                            
Out[33]: '/usr/src'
In [42]: !ls / | grep e                                                  
dev
etc
home
media
#亦可以使用赋值的方式进行使用,如下:
In [43]: data=!df                                                        

In [44]: data                                                            
Out[44]: 
['文件系统               1K-块    已用     可用 已用% 挂载点',
 '/dev/mapper/cl-root 52403200 4779936 47623264   10% /',
 'devtmpfs              917796       0   917796    0% /dev',
 'tmpfs                 933644      84   933560    1% /dev/shm',
 'tmpfs                 933644    9184   924460    1% /run',
 'tmpfs                 933644       0   933644    0% /sys/fs/cgroup',
 '/dev/sda1            1038336  176544   861792   18% /boot',
 '/dev/mapper/cl-home 49250820   33052 49217768    1% /home',
 'tmpfs                 186732      16   186716    1% /run/user/42',
 'tmpfs                 186732       0   186732    0% /run/user/0']

标签:magic,函数,%%,编程,dev,linux,IPython,tmpfs
来源: https://blog.51cto.com/14154700/2469030

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有