更改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深入学习之内存管理
Aug 31 Python
python实现的简单FTP上传下载文件实例
Jun 30 Python
利用Python如何生成hash值示例详解
Dec 20 Python
Python Paramiko模块的使用实际案例
Feb 01 Python
Python实现随机漫步功能
Jul 09 Python
Python远程视频监控程序的实例代码
May 05 Python
python excel转换csv代码实例
Aug 26 Python
使用已经得到的keras模型识别自己手写的数字方式
Jun 29 Python
Python实现爬取网页中动态加载的数据
Aug 17 Python
python des,aes,rsa加解密的实现
Jan 16 Python
Python 图片处理库exifread详解
Feb 25 Python
Python实现PIL图像处理库绘制国际象棋棋盘
Jul 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
php 生成饼图 三维饼图
2009/09/28 PHP
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
jQuery绑定自定义事件的魔法升级版
2016/06/30 Javascript
学习使用bootstrap的modal和carousel
2016/12/09 Javascript
JS库之Highlight.js的用法详解
2017/09/13 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
基于vue-ssr的静态网站生成器VuePress 初体验
2018/04/17 Javascript
vue-froala-wysiwyg 富文本编辑器功能
2019/09/19 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
浅谈python中的占位符
2017/11/09 Python
python中set()函数简介及实例解析
2018/01/09 Python
python2 与python3的print区别小结
2018/01/16 Python
python获取代码运行时间的实例代码
2018/06/11 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
Python测试模块doctest使用解析
2019/08/10 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
django admin 自定义替换change页面模板的方法
2019/08/23 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
Python常用外部指令执行代码实例
2020/11/05 Python
Python就将所有的英文单词首字母变成大写
2021/02/12 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
Calphalon美国官网:美国顶级锅具品牌
2020/02/05 全球购物
简单的JAVA编程面试题
2013/03/19 面试题
计算机网络毕业生自荐信
2013/10/01 职场文书
初一学生期末评语
2014/04/24 职场文书
消防安全宣传标语
2014/06/07 职场文书
西柏坡导游词
2015/02/05 职场文书
Nginx快速入门教程
2021/03/31 Servers
解决mysql问题:由于找不到MSVCR120.dll,无法继续执行代码
2021/06/26 MySQL
MySQL中IO问题的深入分析与优化
2022/04/02 MySQL
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技
CentOS7设置ssh服务以及端口修改方式
2022/12/24 Servers