更改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 实现归并排序算法
Jun 05 Python
详解Python中最难理解的点-装饰器
Apr 03 Python
Python SMTP发送邮件遇到的一些问题及解决办法
Oct 24 Python
Python开启线程,在函数中开线程的实例
Feb 22 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
使用apiDoc实现python接口文档编写
Nov 19 Python
Pytorch 多块GPU的使用详解
Dec 31 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
Feb 18 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
Apr 27 Python
使用tkinter实现三子棋游戏
Feb 25 Python
详解Python openpyxl库的基本应用
Feb 26 Python
pytorch 梯度NAN异常值的解决方案
Jun 05 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
建立文件交换功能的脚本(三)
2006/10/09 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
PHP基于timestamp和nonce实现的防止重放攻击方案分析
2019/07/26 PHP
jQuery 1.5 源码解读 面向中高阶JSER
2011/04/05 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
JavaScript实现select添加option
2015/07/03 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
jquery中封装函数传递当前元素的方法示例
2017/05/05 jQuery
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
vue实现的网易云音乐在线播放和下载功能案例
2019/02/18 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
js HTML DOM EventListener功能与用法实例分析
2020/04/27 Javascript
jQuery实现放大镜案例
2020/10/19 jQuery
原生JS运动实现轮播图
2021/01/02 Javascript
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
[48:28]完美世界DOTA2联赛循环赛FTD vs Magma第二场 10月30日
2020/10/31 DOTA
python实现简单淘宝秒杀功能
2018/05/03 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
Python搭建Keras CNN模型破解网站验证码的实现
2020/04/07 Python
基于Python 的语音重采样函数解析
2020/07/06 Python
python的链表基础知识点
2020/09/13 Python
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
美国潜水装备、水肺潜水和浮潜设备商店:Leisure Pro
2018/08/08 全球购物
屈臣氏泰国官网:Watsons TH
2021/02/23 全球购物
市场营销工作计划书
2014/05/06 职场文书
试用期转正后的自我评价
2014/09/21 职场文书
2014年公务员退休工资改革方案
2014/10/01 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
信仰观后感
2015/06/03 职场文书
警示教育片观后感
2015/06/17 职场文书
python小程序之飘落的银杏
2021/04/17 Python
Python爬取用户观影数据并分析用户与电影之间的隐藏信息!
2021/06/29 Python
mysqldump进行数据备份详解
2022/07/15 MySQL