使用python解释器

— 本文译自https://docs.python.org/2.7/tutorial/。完全是出于个人兴趣翻译的,请勿追究责任。另外,如需转发,请注明来源,并保留此行,尊重本人的劳动成果,谢谢。

来源:CSDN博客

作者:奔跑的QQEE

一、调用解释器

python解释器通常安装在如下目录中:/user/local/bin/python。将/user/local/bin放在 命令行的搜索路径下(配置环境变量),这样才能使用如下命令:

python

解释器安装的目录是可选的。windows平台下,python通常默认安装到C:\Python27下,当然你也可以安装到其它目录。在DOS窗口输入如下命令以配置环境变量:

set path=%path%;C:\python27

Unix平台下输入Control - I,Windows平台下输入Control - Z 以退出解释器。如果不起作用,可以输入命令:

quit()

通常python解释器的行编辑特性不很复杂。Unix平台下支持GNU读行库,这使得编辑功能更加强大。使用命令Control -P 可以快速检查是否支持此种编辑方式。如果听到“嘟”的一声,就能用。如果什么都没听到,并显示 ^P ,那就不能用。

解释器的操作方式有点类似于命令行的。当将连接到的tty设备作为标准输入时,解释器将读取键入的命令并执行它们;当把文件当作标准输入时,解释器将读取文件内的脚本并执行它们。

另一种执行python命令的方式是

python -c python语句

因为python语句经常包括空格和可能影响shell脚本执行的特殊字符,所以建议将python语句用单引号括起来。

一些python模块也是很有用的脚本。可以用命令

python -m 模块

调用这些模块。该命令将执行模块的源文件,就好像你在命令行中用了该文件的全名而打开了此文件一样。

如果想了解更多命令,请使用命令

python -h
二、参数传递

脚本名和其它额外的参数会以字符串列表的形式存储在 sys 模块的 argv 数组中。你可以通过

import sys

命令访问这个列表。该列表的长度至少为1。如果没有参数和脚本,

sys.argv[0]

的值是空字符串。如果脚本名是 ‘-’(代表标准输入),

sys.argv[0]

的值是 ‘-’ 。如果使用了 -c 命令,

sys.argv[0]

的值是 ‘-c’ 。如果使用了 -m 命令,

sys.argv[0]

的值是被调用模块的全名。- c 或 -m 后面的 option 选项不会被 python 解释器销毁,而是保留在 sys.argv 中作为命令或模块来处理。

三、交互模式

当从 tty 读取命令时,解释器就处在交互模式下。通常用三个大于号(>>>)提示输入一条命令。用三个点(…)提示可以输入多行命令。

在输入第一条 python 语句前,解释器会先显示出一条包含版本号,版权信息的提示。如:

python
Python 2.7 (#1, Feb 28 2010, 00:02:06)
Type "help", "copyright", "credits" or "license" for more information.
>>>

输入多行命令需要使用 ‘ : ’ 符号,例:

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
...     print "Be careful not to fall off!"
...
Be careful not to fall off!
四、解释器和环境

默认,python 源文件以 UTF-8 的编码存储。尽管标准库仅使用 ASCII 字符来显示标识符,但是用 UTF-8 编码,世界上大部分语言符号都能以文字,标识符,注释的形式同时存在于一个文件中。为了正常显示所有字符,你的编辑器必须能识别 UTF-8 ,必须使用一种能表示所有字符的字体。

为文件设定另一种编码,应在该文件第一行添加特殊声明。语法如下:

# -*- coding: 编码 -*-

编码应是 python 支持的值。

编解码器别名语言
ascii646, us-asciiEnglish
big5big5-tw, csbig5Traditional Chinese
big5hkscsbig5-hkscs, hkscsTraditional Chinese
cp037IBM037, IBM039English
cp424EBCDIC-CP-HE, IBM424Hebrew
cp437437, IBM437English
cp500EBCDIC-CP-BE, EBCDIC-CP-CH, IBM500Western Europe
cp720Arabic
cp737Greek
cp775IBM775Baltic languages
cp850850, IBM850Western Europe
cp852852, IBM852Central and Eastern Europe
cp855855, IBM855Bulgarian, Byelorussian, Macedonian, Russian, Serbian
cp856Hebrew
cp857857, IBM857Turkish
cp858858, IBM858Western Europe
cp860860, IBM860Portuguese
cp861861, CP-IS, IBM861Icelandic
cp862862, IBM862Hebrew
cp863863, IBM863Canadian
cp864IBM864Arabic
cp865865, IBM865Danish, Norwegian
cp866866, IBM866Russian
cp869869, CP-GR, IBM869Greek
cp874Thai
cp875Greek
cp932932, ms932, mskanji, ms-kanjiJapanese
cp949949, ms949, uhcKorean
cp950950, ms950Traditional Chinese
cp1006Urdu
cp1026ibm1026Turkish
cp1140ibm1140Western Europe
cp1250windows-1250Central and Eastern Europe
cp1251windows-1251Bulgarian, Byelorussian, Macedonian, Russian, Serbian
cp1252windows-1252Western Europe
cp1253windows-1253Greek
cp1254windows-1254Turkish
cp1255windows-1255Hebrew
cp1256windows-1256Arabic
cp1257windows-1257Baltic languages
cp1258windows-1258Vietnamese
euc_jpeucjp, ujis, u-jisJapanese
euc_jis_2004jisx0213, eucjis2004Japanese
euc_jisx0213eucjisx0213Japanese
euc_kreuckr, korean, ksc5601, ks_c-5601, ks_c-5601-1987, ksx1001, ks_x-1001Korean
gb2312chinese, csiso58gb231280, euc- cn, euccn, eucgb2312-cn, gb2312-1980, gb2312-80, iso- ir-58Simplified Chinese
gbk936, cp936, ms936Unified Chinese
gb18030gb18030-2000Unified Chinese
hzhzgb, hz-gb, hz-gb-2312Simplified Chinese
iso2022_jpcsiso2022jp, iso2022jp, iso-2022-jpJapanese
iso2022_jp_1iso2022jp-1, iso-2022-jp-1Japanese
iso2022_jp_2iso2022jp-2, iso-2022-jp-2Japanese, Korean, Simplified Chinese, Western Europe, Greek
iso2022_jp_2004iso2022jp-2004, iso-2022-jp-2004Japanese
iso2022_jp_3iso2022jp-3, iso-2022-jp-3Japanese
iso2022_jp_extiso2022jp-ext, iso-2022-jp-extJapanese
iso2022_krcsiso2022kr, iso2022kr, iso-2022-krKorean
latin_1iso-8859-1, iso8859-1, 8859, cp819, latin, latin1, L1West Europe
iso8859_2iso-8859-2, latin2, L2Central and Eastern Europe
iso8859_3iso-8859-3, latin3, L3Esperanto, Maltese
iso8859_4iso-8859-4, latin4, L4Baltic languages
iso8859_5iso-8859-5, cyrillicBulgarian, Byelorussian, Macedonian, Russian, Serbian
iso8859_6iso-8859-6, arabicArabic
iso8859_7iso-8859-7, greek, greek8Greek
iso8859_8iso-8859-8, hebrewHebrew
iso8859_9iso-8859-9, latin5, L5Turkish
iso8859_10iso-8859-10, latin6, L6Nordic languages
iso8859_11iso-8859-11, thaiThai languages
iso8859_13iso-8859-13, latin7, L7Baltic languages
iso8859_14iso-8859-14, latin8, L8Celtic languages
iso8859_15iso-8859-15, latin9, L9Western Europe
iso8859_16iso-8859-16, latin10, L10South-Eastern Europe
johabcp1361, ms1361Korean
koi8_rRussian
koi8_uUkrainian
mac_cyrillicmaccyrillicBulgarian, Byelorussian, Macedonian, Russian, Serbian
mac_greekmacgreekGreek
mac_icelandmacicelandIcelandic
mac_latin2maclatin2, maccentraleuropeCentral and Eastern Europe
mac_romanmacromanWestern Europe
mac_turkishmacturkishTurkish
ptcp154csptcp154, pt154, cp154, cyrillic-asianKazakh
shift_jiscsshiftjis, shiftjis, sjis, s_jisJapanese
shift_jis_2004shiftjis2004, sjis_2004, sjis2004Japanese
shift_jisx0213shiftjisx0213, sjisx0213, s_jisx0213Japanese
utf_32U32, utf32all languages
utf_32_beUTF-32BEall languages
utf_32_leUTF-32LEall languages
utf_16U16, utf16all languages
utf_16_beUTF-16BEall languages (BMP only)
utf_16_leUTF-16LEall languages (BMP only)
utf_7U7, unicode-1-1-utf-7all languages
utf_8U8, UTF, utf8all languages
utf_8_sigall languages

例如,如果要使用 windows-1252 编码,文件首行应这样写:

# -*- coding: cp-1252 -*-

如果指定了解释器的位置,那么编码类型声明应放在第二行。如:

#!/usr/bin/env python
# -*- coding: cp-1252 -*-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值