Python学习笔记—第二章—IPyth

发布时间:2019-08-28 09:06:24编辑:auto阅读(1736)

    书目:Python(Unix和Linux系统管理指南)

    学习日期:20130807

    知识点总结:

    1. 安装IPython:

      1. 源码安装:

        1. tar zxvf ipython-0.13.2.tar.gz
          python setup.py install
      2. 通过系统的软件包管理器安装:

        1. # Debian和Ubuntu系统
          apt-get install ipython-notebook
          # Fedora,CentOS和RedHat系统等
          yum install python-ipython-notebook
      3. 通过Python包安装:

        1. # Python包中包含了IPython,需安装setuptools工具
          easy_install ipython
      4. IPython不必安装也可使用:

        1. python ipython.py
    2. 与IPython进行交互:

      1. print语句使用非正式的字符串表达式,而简单变量名使用了正式的字符串表达

      2. 标准Python的提示符由3个大于号(>>>)组成,而IPython的提示符由单词“In [编号]:”组成

      3. IPython的输出操作符看上去区分两种输出:写输出和求值输出

      4. IPython中的2个内置变量:In(列表list对象)和Out(字典dict对象)

        1. In [13]: type(In)
          Out[13]: list
          In [14]: type(Out)
          Out[14]: dict
      5. In保存输入,Out保存非空语句和表达式求值运算的输出:

        1. 每行必有输入,这对于跟踪类列表结构(list)的输入非常有效;

        2. 并非每行输出都有可求值的非空结果,故采用字典(dict)对象对输出进行跟踪,空值结果不写入Out字典中

    3. Tab自动完成:

      1. IPython中默认开启,标准Python需编译时增加readline支持特性,并作如下处理

        1. >>> import rlcompleter,readline
          >>> readline.parse_and_bind('tab':complete)
      2. 适用场景:属性查找和自动完成,模块导入

      3. IPython提供了2类自动完成功能:完成(complete)与菜单完成(menu-complete),默认是“完成”

    4. 配置IPython:

      1. 默认配置文件:~/.ipython/ipy_user_conf.py

      2. 交互式:ipyton config -h

    5. 从功能强大的函数获得帮助:

      1. IPython会将任何第一个字母为%的行,视为对魔力函数的特殊调用,这些魔力函数都是IPython内置的

      2. 魔力函数都以%为前缀,并且参数中不包含括号或者引号

      3. lsmagic函数:列出所有的魔力函数

      4. %<TAB>:列出所有的魔力函数

      5. magic函数:打开分页的帮助文档,记录了所有IPython内建函数的用法

      6. %page ?:获得具体函数(如page)的帮助信息

      7. %quickref函数:打开分页的参考文档信息,是对magic函数的迷你总结

    6. 魔力函数:

      1. 在IPython中执行UNIX命令:

        1. alias函数:通过alias,可以创建一个IPython的快速方式,用以执行系统命令

          # alias用法:
          In [16]: alias nss netstat -antupl
          # 别名alias的2种输入方式
          # do-nothing方式:传递给命令的所有附加参数都能够组织在一起
          In [23]: nss | grep 80
          # do-everything方式:采用隐含参数传递的方式,需要显示地操作所有后续参数
          In [24]: alias achoo echo first:"|%s|",second:"|%s|"
          In [25]: achoo foo bar
          first:|foo|,second:|bar|
          # 保存使用的别名,使得下一次打开IPython时,能够继续使用此别名
          In [26]: store achoo
          Alias stored: achoo (echo first:"|%s|",second:"|%s|")


        2. 命令前加感叹 (!):另一种可以简易执行shell命令的方法

          # 通过美元符($)前缀,可以将变量传递到shell命令中
          In [27]: user = 'root'
          In [28]: process = 'bash'
          In [29]: !ps aux |grep $user |grep $process
          # 保存使用感叹号执行的命令结果(变量l包括了一个类列表list-like对象):
          In [30]: l = !ps aux |grep $user |grep $process
          In [31]: l
          Out[31]:
          ['root 7238  0.0  0.1 105472  936 pts/0 S+  11:54  0:00 grep bash']
          # !!可以替换!,除了使用!!无法保存结果到变量之外,两者完全一致




      2. sf



    7. sflj


关键字