更改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实现CET查分的方法
Mar 10 Python
利用Python如何生成随机密码
Apr 20 Python
Python中定时任务框架APScheduler的快速入门指南
Jul 06 Python
Python django实现简单的邮件系统发送邮件功能
Jul 14 Python
Python3批量生成带logo的二维码方法
Jun 24 Python
Django 1.10以上版本 url 配置注意事项详解
Aug 05 Python
python中对_init_的理解及实例解析
Oct 11 Python
python实现操作文件(文件夹)
Oct 31 Python
Python Socketserver实现FTP文件上传下载代码实例
Mar 27 Python
Python urlencode和unquote函数使用实例解析
Mar 31 Python
Python 虚拟环境工作原理解析
Dec 24 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 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
探讨:web上存漏洞及原理分析、防范方法
2013/06/29 PHP
PHP文件大小格式化函数合集
2014/03/10 PHP
php中使用array_filter()函数过滤空数组的实现代码
2014/08/19 PHP
php实现两个数组相加的方法
2015/02/17 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
最简单的js图片切换效果实现代码
2011/09/24 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
2013/07/03 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
TypeOf这些知识点你了解吗
2016/02/21 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
AngularJs Scope详解及示例代码
2016/09/01 Javascript
Angular 数据请求的实现方法
2018/05/07 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
js实现带积分弹球小游戏
2020/07/21 Javascript
python 切片和range()用法说明
2013/03/24 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
Python配置虚拟环境图文步骤
2019/05/20 Python
django框架两个使用模板实例
2019/12/11 Python
Python文件操作函数用法实例详解
2019/12/24 Python
Python3操作MongoDB增册改查等方法详解
2020/02/10 Python
利用python中集合的唯一性实现去重
2020/02/11 Python
Python爬虫如何应对Cloudflare邮箱加密
2020/06/24 Python
在 Windows 下搭建高效的 django 开发环境的详细教程
2020/07/27 Python
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
甲方资料员岗位职责
2013/12/13 职场文书
教师评优事迹材料
2014/01/10 职场文书
驾驶员岗位职责
2014/01/29 职场文书
老兵退伍感言
2015/08/03 职场文书
大学生社会实践感想
2015/08/11 职场文书
Python中的变量与常量
2021/11/11 Python