更改Python命令行交互提示符的方法

yipeiwu_com7年前Python基础

一、定制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中请不要再用re.compile了

Python中请不要再用re.compile了

前言 如果大家在网上搜索Python 正则表达式,你将会看到大量的垃圾文章会这样写代码: import re pattern = re.compile('正则表达式') text...

Python+OpenCV实现车牌字符分割和识别

Python+OpenCV实现车牌字符分割和识别

最近做一个车牌识别项目,入门级别的,十分简单。 车牌识别总体分成两个大的步骤: 一、车牌定位:从照片中圈出车牌 二、车牌字符识别 这里只说第二个步骤,字符识别包括两个步骤: 1、图像处理...

深入理解NumPy简明教程---数组1

目前我的工作是将NumPy引入到Pyston中(一款Dropbox实现的Python编译器/解释器)。在工作过程中,我深入接触了NumPy源码,了解其实现并提交了PR修复NumPy的bu...

python操作mysql数据库

一、数据库基本操作 1. 想允许在数据库写中文,可在创建数据库时用下面命令 create database zcl charset utf8; 2. 查看students表结构 desc...

浅谈django url请求与数据库连接池的共享问题

浅谈django url请求与数据库连接池的共享问题

但凡介绍数据库连接池的文章,都会说“数据库连接是一种关键的有限的昂贵的资源,这一点在多用户的网页应用程序中体现得尤为突出。对数据库连接的管理能显著影响到整个应用程序的伸缩性和健壮性,影响...