更改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使用socket远程连接错误处理方法
Apr 29 Python
python实现发送邮件及附件功能
Mar 02 Python
python 把文件中的每一行以数组的元素放入数组中的方法
Apr 29 Python
Python格式化输出%s和%d
May 07 Python
详解Python如何生成词云的方法
Jun 01 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
python代理工具mitmproxy使用指南
Jul 04 Python
django url到views参数传递的实例
Jul 19 Python
原生python实现knn分类算法
Oct 24 Python
python next()和iter()函数原理解析
Feb 07 Python
Python流程控制语句的深入讲解
Jun 15 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 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&java(二)
2006/10/09 PHP
php中对2个数组相加的函数
2011/06/24 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
php遍历类中包含的所有元素的方法
2015/05/12 PHP
Laravel-admin之修改操作日志的方法
2019/09/30 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
点击广告后才能获得下载地址
2006/10/26 Javascript
jquery键盘事件使用介绍
2011/11/01 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
JavaScript继承模式粗探
2016/01/12 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
Vuex入门到上手教程
2018/06/20 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
2018/09/20 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
Fundebug支持监控微信小程序HTTP请求错误的方法
2019/02/21 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
Element Cascader 级联选择器的使用示例
2020/07/27 Javascript
python利用标准库如何获取本地IP示例详解
2017/11/01 Python
python爬虫租房信息在地图上显示的方法
2019/05/13 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
Python-for循环的内部机制
2020/06/12 Python
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
《望洞庭》教学反思
2014/02/16 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
革命电影观后感
2015/06/18 职场文书
小型婚礼主持词
2015/06/30 职场文书
学习十八大的感悟
2015/08/11 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
CSS三大特性继承性、层叠性和优先级详解
2022/01/18 HTML / CSS