更改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线程的两种编程方式
Apr 14 Python
解决Python requests 报错方法集锦
Mar 19 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
Python使用flask框架操作sqlite3的两种方式
Jan 31 Python
Python2.7 实现引入自己写的类方法
Apr 29 Python
python logging重复记录日志问题的解决方法
Jul 12 Python
python 2.7 检测一个网页是否能正常访问的方法
Dec 26 Python
python3.6根据m3u8下载mp4视频
Jun 17 Python
Python Web框架之Django框架cookie和session用法分析
Aug 16 Python
Python sorted对list和dict排序
Jun 09 Python
Python包和模块的分发详细介绍
Jun 19 Python
使用Python文件读写,自定义分隔符(custom delimiter)
Jul 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
php循环输出数据库内容的代码
2008/05/24 PHP
Php连接及读取和写入mysql数据库的常用代码
2014/08/11 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
JS对象转换为Jquery对象实现代码
2013/12/29 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
2016/08/19 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
2017/01/11 Javascript
vue如何实现observer和watcher源码解析
2017/03/09 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
2017/12/25 jQuery
为什么要使用Vuex的介绍
2019/01/19 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
Vue 事件的$event参数=事件的值案例
2021/01/29 Vue.js
python开发之基于thread线程搜索本地文件的方法
2015/11/11 Python
基于Linux系统中python matplotlib画图的中文显示问题的解决方法
2017/06/15 Python
Python数据结构与算法之列表(链表,linked list)简单实现
2017/10/30 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
python实现批量解析邮件并下载附件
2018/06/19 Python
python实现字符串中字符分类及个数统计
2018/09/28 Python
对numpy中向量式三目运算符详解
2018/10/31 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
python虚拟环境的安装和配置(virtualenv,virtualenvwrapper)
2019/08/09 Python
python DataFrame转dict字典过程详解
2019/12/26 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
Python爬虫自动化爬取b站实时弹幕实例方法
2021/01/26 Python
python链表类中获取元素实例方法
2021/02/23 Python
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
2014年调度员工作总结
2014/11/19 职场文书
2015年元旦晚会活动总结(学生会)
2014/11/28 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
党员个人自我评价
2015/03/03 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
nginx配置ssl实现https的方法示例
2021/03/31 Servers
浅谈pytorch中stack和cat的及to_tensor的坑
2021/05/20 Python