IPython的使用
原文链接:https://www.cnblogs.com/liangxiaoyu/p/10103632.html 一、特性:1)magic函数:内置了很多函数用来实现各种特性。 2)Tab补全:可以有效地补齐Python语言的模块、方法和类等。 3)源码编辑:可以直接修改源码并运行。 4)宏:可以将一段代码定义为一个宏,便于以后运行 5)历史记录:提供了强大的历史记录功能。 6)对象自省:有强大的对象自省功能。 7)执行系统命令:可以直接在交互式Shell中执行系统命令。 二、安装1)pip 或 pip3 install ipython 2)源码安装 python setup.py install 三、启动直接输入ipython启动 四、和ipython的简单交互In 表示输入 数字表示 计数 Out 表示输出? 数字表示计数 如果直接输入一个被赋值的变量 则直接会打印这个变量 也可以使用print()函数来打印 五、IPython中的magic函数当输入是以%开始的时候,IPython会将其视为一个magic函数。 1.目录管理cd、pwd、bookmark和dhist等 1)使用cd切换目录例: cd 目标目录 cd - 切换到上次的目录中 cd -q 忽略输出 2)使用bookmark管理书签目录一旦书签建立,除非显示删除,否则在IPython中总是可用的。换句话说,即使是IPython退出了,书签在下次启动的时候也是可用的。 有两种方式来加入目录书签。一种是在当前目录上直接使用bookmark命令,第二种是使用bookmark命令直接定义一个目录书签。 例: bookmark 书签名 将当前目录加入书签 bookmark 书签名 目录名 将指定目录加入书签 bookmark -l 查看已经定义的书签 使用cd -b? 书签名 可以切换到该书签所指向目录 可以使用Tab键补齐书签 bookmark -d 书签名?? 删除指定书签 bookmark -r 删除所有已经定义的书签 3)使用dhist查看目录历史使用书签目录的前提是需要定义书签,但是有的时候可能只是需要在已经输入的目录中进行操作。该命令可以输出曾经在IPython绘画中切换过的目录 后面跟一个n n表示输出信息的最上面的N个目录 后面跟n和m 表示输出m和n之间的目录,其中不包括m数字所代表的目录 cd -n 可以进入切换目录历史记录中出现的目录?? Tab键可以进行提示 cd --搜索的关键字 进行搜索 2.对象信息的收集1)查看环境变量信息env命令 输出当前的系统环境配置 2)使用page处理输出信息当执行外部命令的时候,有可能输出过长,这个时候可以使用page来对输出信息进行分页处理,从而获得一个更好的显示。当不带有参数的时候,将会对上次的输出信息进行处理。这个处理过程有点像外部系统命令more的功能。 3)使用pfile命令当含有Python源文件的时候,可以使用pfile来查看其相关的信息。 例: import os pfile os 4)使用pdef、pdoc和pinfo查看对象信息对于一个Python对象,可以使用上述命令查看其函数定义等相关信息。 5)使用psearch查找对象信息使用psearch命令可以搜索当前名字空间中已有的Python对象 psearch 对象 psearch a*? 支持这种 psearch -e 对象 将内置对象过滤掉 pycat? 可以获取Python对象的代码? (非常有用) 3.其他一些magic函数总结
?
? 六、IPython适合于系统管理的特点1.Tab补齐强大的联想功能 IPython会先检查输入的命令 是否是IPython的magic函数,如果不是再交给Python解释器去处理 IPython有两种补齐方式,分别是常规补齐和菜单补齐 两者不同在于,当有超过一个可选项的时候,常规补全是首先尝试最大化匹配展开,如果还有多余一个选择,则列出所有的匹配结果。而菜单补全则不会显示可能的匹配列表,而是在可能的匹配中进行轮换。默认采用常规补全方式。 2.历史记录功能为了能更好地利用以前的输入,IPython会记录下每次输入。 history 输出原始调用的记录 history -r 输出原始输入的命令 history -n 输出前面加上序号 history -g 搜索内容 使用 _ 符号访问输出结果 3.执行外部系统命令和运行文件使用!执行外部系统命令 将系统命令输出复制给Python变量 运行外部文件 %run 或 !执行 4.对象查看和自省?和??的使用 后者 不会截断还会高亮显示 不光可以查看Python对象还可以查看magic函数 使用who等查看对象信息 5.直接编辑代码edit命令的使用 对上一次代码进行更改 edit -p edit -x 修改而不执行代码? 6.设置别名和宏alias 别名 具体指令 <%1>? 表示输入的参数 %s 表示指定参数 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |