解释器文件Python Tutorial(二):使用Python解释器 解释器文件

本文详细介绍了如何调用Python解释器,包括在Unix和Windows上的路径设置,以及通过命令行参数传递的方式。解释器的交互式模式、错误捕获和脚本执行机制也得到了阐述。此外,还讨论了Python源文件的编码规范和如何指定不同编码。通过阅读,读者将更深入地理解Python解释器的工作原理。
摘要由CSDN通过智能技术生成

最近朋友几篇文章介绍了改解释器文件的文章. 关联文章的地址

    

2.1 调用解释器

    Python解释器常通安装到/usr/local/bin/python3.3,把/usr/local/bin放入到你的Unix shell的搜索路径里,使够能通过在shell中键入令命启动:

python3.3

因为解释器的安装录目是可选的,其它路径也可以。通过你地本的Python专家或统系管理员行进核实。(/usr/local/python是一个行流的可选位置)

    在Windows器机上,Python常通安装在c:\python33,你可以在安装时变改这个位置。把这个录目添加到path中去,可以在令命提示符中键入上面令命:

set path=%path%;C:\python33

在主提示符键入一个文件结束符(Control-D在Unix上,Control-Z在Windows上)使解释器以零状态退出。如果这样行不,可以键入quit()令命退出解释器。

    解释器操纵有些像Unix shell:当以连接到一个tty设备的标准入输调用时,它交互的取读和行执令命。当以一个文件名字参数或一个文件作为标准入输时,它从文件里取读和行执脚本。

    第二种启动解释器的式方是python -c command [arg] ...,在令命面里行执语句,与shell的-c项选较为似相。因为Python语句里经常包含空格或其它字符,这些对于shell都是特殊字符,常通议建应用单引号将令命全体包含起来。

    一些Python块模作为脚本也是非常有效的,它们可以应用python -m module [arg] ...来调用,它行执源文件,就像你在令命行面里拼写全名一样。

    当一个脚本文件被应用,可以行运脚本,然后进入交互式模。可以通过在脚本前传入-i来成完。

    

2.1.1 参数传递

    当知道了解释器,脚本名称和额定的参数此后被转化到一个字符串表列里,并且赋给sys块模里的argv量变。你可以行执import sys来访问这个表列。表列的度长至少是1。当没有脚本和参数时,sys.argv[0]是一个空字符串。当脚本的名字是-时(意味着标准入输),sys.argv[0]被设置为-。当应用-c令命时,sys.argv[0]被设置为-c。当应用-m块模时,sys.argv[0]被设置为指定块模的全名。-c或-m面后的项选不被Python解释器的项选理处所应用,而是留在sys.argv中被令命或块模理处。

    

2.1.2 交互式模

    当从一个tty读到令命时,解释器被说成是交互式模。它通过主提示符提示下一条令命,常通三个大于号(>>>)。对于继承的行,应用第二提示符行进提示,默许是三个点(...)。解释器在打印出第一条提示符之前会先打印一个迎欢息消表现出版本号和版权注意:

$ python3.3
Python 3.3 (default, Sep 24 2012, 09:25:04)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

当进入一个多行构结时,就需要继承行了。例如,看上面的if语句:

>>> the_world_is_flat = 1
>>> if the_world_is_flat:
...     print("Be careful not to fall off!")
...
Be careful not to fall off!

2.2 解释器和它的环境

    

2.2.1 错误捕获

    当一个错误生发时,解释器打印一个错误信息和堆栈踪跟。在交互式模,返回到主提示符。当从一个文件入输时,打印出堆栈踪跟后以非零状态退出。(异常被try语句的except从句捕获并不算错误)一些错误是无条件的致命的,引发以非零状态退出。这是由于内部矛盾和一些内存不足成造的。全体的错误息消被写到标准错误流。常正的行执令命出输被写入标准出输。

    键入断中字符(常通Control-C或DEL)到重要或二级提示符消取入输返回到主提示符。当令命正在行运时键入断中会引发KeyboardInterrupt异常,可以被try语句捕获。

    

2.2.2 可行执Python脚本

    在BSD Unix统系上,Python脚本直接就是可行执的,像shell脚本,通过入加这行:

#! /usr/bin/env python3.3

(假设解释器在户用的PATH上)在脚本的开始,给文件一个可行执式模。#!必须是文件的前两个字符。在一些平台上,第一行必须以Unix款式开头(\n),不是Windows款式(\r\n)。注意那个#字符,常通应用它作为单行注释。

    脚本可以被给一个可行执式模,或权限,应用chmod令命:

$ chmod +x myscript.py

在Windows统系,没有可行执式模的念概。Python安装程序自动关联.py文件到python.exe,双击一个Python文件即作为脚本行运它。扩展名也可所以.pyw,这时,控制台窗口的涌现一般被阻挠。

    

2.2.3 源文件编码

    默许,Python源文件被以UTF-8编码待对。世界上少数语言字符可以同时用作字符串字面量,标识符和注释,尽管标准库只应用ASCII字符作为标识符,一个任何轻巧代码都应该守遵的习气。为了全体的字符都能合适的表现,你的编辑器必须能认出文件是UTF-8,必须应用一种能支撑文件中全体字符的字体。

    也可为以源文件指定一个不同的编码。在#!行面后多加一行特殊的注释行来定义源文件编码:

# -*- coding: encoding -*-

有了这个声明后,源文件中的全体内容都被作为新的编码待对,可能的编码表列在Python的库中会被找到。

    例如,你选择的编辑器不支撑UTF-8编码文件,并且决坚应用其它编码,如Windows-1252,你可以这样写:

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

源文件中全体字符都应用Windows-1252字符集。这个特殊的编码注释必须被放在文件的第一或第二行。

    本文是对官方网站内容的翻译,原文地址:http://docs.python.org/3/tutorial/interpreter.html

文章结束给大家分享下程序员的一些笑话语录: 乔布斯:怎么样还是咱安全吧!黑客:你的浏览器支持国内网银吗?苹果可以玩国内的网游吗乔布斯:......不可以黑客:那我研究你的漏洞干嘛,我也需要买奶粉!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值