更改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 yield使用方法示例
Dec 04 Python
深入解析Python中的集合类型操作符
Aug 19 Python
全面了解Python环境配置及项目建立
Jun 30 Python
Flask框架使用DBUtils模块连接数据库操作示例
Jul 20 Python
python学生信息管理系统(初级版)
Oct 17 Python
Python小进度条显示代码
Mar 05 Python
通过实例了解python property属性
Nov 01 Python
将labelme格式数据转化为标准的coco数据集格式方式
Feb 17 Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
教你用Python+selenium搭建自动化测试环境
Jun 18 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 操作符与控制结构
2012/03/07 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
2013/06/20 PHP
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
给Function做的OOP扩展
2009/05/07 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
javascript事件冒泡实例分析
2015/05/13 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
详解JavaScript 中的 replace 方法
2016/01/01 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
2017/01/05 Javascript
Vue.js框架路由使用方法实例详解
2017/08/25 Javascript
json数据传到前台并解析展示成列表的方法
2018/08/06 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
python合并同类型excel表格的方法
2018/04/01 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Python datetime包函数简单介绍
2019/08/28 Python
python SVD压缩图像的实现代码
2019/11/05 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
美国领先的在线邮轮旅游公司:CruiseDirect
2018/06/07 全球购物
简短的公司员工自我评价分享
2013/11/13 职场文书
售后主管岗位职责
2013/12/08 职场文书
半年思想汇报
2013/12/30 职场文书
《在山的那边》教学反思
2014/02/23 职场文书
职业生涯规划书结束语
2014/04/15 职场文书
信息员培训方案
2014/06/12 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
交通肇事罪辩护词
2015/05/21 职场文书
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
MySQL数据库如何给表设置约束详解
2022/03/13 MySQL