更改Python命令行交互提示符的方法


Posted in Python onJanuary 14, 2015

一、定制Python的交互提示符

Python的默认交互提示符为“>>>”,但它是可以定制的。

Python启动后,先寻找PYTHONSTARTUP环境变量,然后执行此文件中变量指定的执行代码。

一些Linux发布包提供了缺省的启动脚本,一般存放在其home目录,名为.pythonstartup。“Tab完成”和“命令历史”这两个功能增强了提示符应用,两者都基于readline模块。

如果没有.pythonstartup文件,可以自己创建一个。

简单例子:

# python startup file

import readline

import rlcompleter

import atexit

import os

# tab completion

readline.parse_and_bind('tab: complete')

# history file

histfile = os.path.join(os.environ['HOME'], '.pythonhistory')

try:

 readline.read_history_file(histfile)

except IOError:

 pass

atexit.register(readline.write_history_file, histfile)

del os, histfile, readline, rlcompleter

可以在http://pypi.python.org/pypi/pbp.scripts另存为.pythonstartup。

设置PYTHONSTARTUP环境变量

如果是在Linux或Mac OS X下运行Python,最简单的方法是创建启动脚本,并保存到home目录。
然后用PYTHONSTARTUP环境变量连接它,设置到系统启动脚本。例如在Bash和Korn shell,可使用.profile文件,你可以插入行,例如:
export PYTHONSTARTUP=~/.pythonstartup
在windows下,更为方便,设置PYTHONSTARTUP黄金变量即可。

二、iPython

iPython见:http://ipython.scipy.org
iPython的目标是为交互应用和研究计算创建一个全面的环境。iPython有两个主要组件:

1)一个增强的Python交互shell
2)交互式并行计算架构

iPython开源,当前版本:0.9.1。它是一个Python的增强shell。特征:

  -动态的对象检查
  -从提示符访问系统shell
  -Profiling的直接支持
  -调试方便

三、Python的distutils

Python自带了一套工具distutils,用于发布Python应用程序。它提供了:

1、一个骨架
提供标准元数据域,如作者名、License类型等等。

2、一套帮助器
明白怎样建立发布包。

distutils没有提供定义其它依赖包的功能,setuptools工具增强了这一点。

setuptools 框架,它是 Python Enterprise Application Kit(PEAK)的一个副项目。 setuptools 替换了标准的 distutils 库,并为 Python 添加了版本化的包和依赖性管理。

Perl 用户比较熟悉 CPAN,而 Ruby 用户则比较熟悉 Gems;引导 setuptools 的 ez_setup 工具和随之而生的扩展后的 easy_install 与 “Cheeseshop”(Python Package Index,也称为 “PyPI”)一起工作来实现相同的功能。另外,setuptools 还让我们可以将自己的库包装成一个称为 “egg” 的包,它与 Java? 的 JAR 文件类似,不过是用于 Python 的。

要安装setuptools,使用EasyInstall。
EasyInstall是一个包下载器和安装器。EasyInstall是setuptools工具的补充,因为它知道怎样处理包建立。

Python 相关文章推荐
简单谈谈Python中的反转字符串问题
Oct 24 Python
Python使用pydub库对mp3与wav格式进行互转的方法
Jan 10 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
python实现画循环圆
Nov 23 Python
浅谈keras.callbacks设置模型保存策略
Jun 18 Python
python爬虫要用到的库总结
Jul 28 Python
Pycharm及python安装详细教程(图解)
Jul 31 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python实现无边框进度条的实例代码
Dec 30 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 Python
python操作xlsx格式文件并读取
Jun 02 Python
Python的迭代器和生成器使用实例
Jan 14 #Python
python实现带验证码网站的自动登陆实现代码
Jan 12 #Python
Python三元运算实现方法
Jan 12 #Python
Python中的True,False条件判断实例分析
Jan 12 #Python
Python基类函数的重载与调用实例分析
Jan 12 #Python
Python类的专用方法实例分析
Jan 09 #Python
Python序列之list和tuple常用方法以及注意事项
Jan 09 #Python
You might like
php auth_http类库进行身份效验
2009/03/19 PHP
PHP把网页保存为word文件的三种方法
2014/04/01 PHP
PHP与MYSQL中UTF8编码的中文排序实例
2014/10/21 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
PHP获取HTTP body内容的方法
2018/12/31 PHP
Exitjs获取DataView中图片文件名
2009/11/26 Javascript
js修改table中Td的值(定义td的双击事件)
2013/01/10 Javascript
jquery弹出框的用法示例(2)
2013/08/26 Javascript
JavaScript中的this机制
2016/01/30 Javascript
js实现漫天星星效果
2017/01/19 Javascript
Angular.js之作用域scope'@','=','&'实例详解
2017/02/28 Javascript
详解Vue微信公众号开发踩坑全记录
2017/08/21 Javascript
jQuery实现广告条滚动效果
2017/08/22 jQuery
基于Vue单文件组件详解
2017/09/15 Javascript
Nodejs+angularjs结合multiparty实现多图片上传的示例代码
2017/09/29 NodeJs
浅谈Emergence.js 检测元素可见性的 js 插件
2017/11/18 Javascript
Angular5.1新功能分享
2017/12/21 Javascript
JavaScript实现PC端四格密码输入框功能
2020/02/19 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
浅谈Ant Design Pro 菜单自定义 icon
2020/11/17 Javascript
深入解析Python中的urllib2模块
2015/11/13 Python
Python中文件的读取和写入操作
2018/04/27 Python
python+selenium 定位到元素,无法点击的解决方法
2019/01/30 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
matlab、python中矩阵的互相导入导出方式
2020/06/01 Python
HTML5 video 视频标签使用介绍
2014/02/03 HTML / CSS
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
员工考核管理制度
2014/02/02 职场文书
消防安全标语
2014/06/07 职场文书
班主任先进事迹材料
2014/12/17 职场文书
公司年会开场白
2015/06/01 职场文书
电影开国大典观后感
2015/06/04 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书