类型:Python,创建时间:Jan. 1, 2012, 6:33 p.m.
标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/70/。
使用过一段时间的Python之后,大多数朋友可能已经发现自己经常使用的是Python某一部分的功能。比如习惯拿Python来当计算器的朋友,最喜欢的是运行Python的命令行之后就打一个:
from __future__ import division from math import *
而做Django开发的朋友最喜欢的则是:
import urllib import django.models as dm import django.shortcuts as ds
每次运行之后都要输入这些命令不免麻烦,幸好Python开发者早就替我们考虑好这个问题了。可以通过设置"PYTHONSTARTUP"这个环境变量让Python命令行每次运行后都自动做这些事。
比如,我们可以编写一个名为startup.py的文件,它的内容是:
from __future__ import division from math import *
假设将它保存到H:\Documents\myconfig\startup.py
。然后设置环境变量PYTHONSTARTUP=H:\Documents\myconfig\startup.py
。下次运行Python命令行之后,输入sqrt(2)
试试。
这个环境变量对于Python 3.x也是有效的。因此,如果在startup.py里出现Python 3.x的语法或者Python 3.x里没有安装的模块,很有可能会报错。这时,可以根据os.version_info判断Python的版本号,然后执行不同的命令。比如:
from __future__ import division from math import * import os, sys if sys.version_info[0]<3: from httplib import HTTPConnection else: from http.client import HTTPConnection
利用这种技巧,还可以改造Python 2.6/2.7,让他们的命令行也能用上Python 3.x的语法,方便我们更快地熟悉Python 3.x的语法。下面贴一个我自己的startup.py:
# -*- encoding:utf-8 -*- from __future__ import print_function from __future__ import unicode_literals from __future__ import division from __future__ import absolute_import try: str=unicode except: pass import sys, os, struct, ctypes from math import *
标题无“转载”即原创文章,版权所有。转载请注明来源:http://hgoldfish.com/blogs/article/70/。
vayn(Jan. 2, 2012, 8:19 a.m.)
很巧最近我也读到一篇设置Python自带命令行的文章http://goo.gl/QiNOB除了修改启动环境之外还能设置编辑器什么的。不过我现在用的是ipython