TOP

Python语法速查: 15. 解释器与执行环境(一)
2020-03-10 18:14:47 】 浏览:65次 本网站的内容取自网络,仅供学习参考之用,绝无侵犯任何人知识产权之意。如有侵犯请您及时与本人取得联系,万分感谢。
Tags:Python 语法 15. 解释 执行 环境

返回目录

 

本篇索引

(1)Python解释器

(2)Python交互式会话

(3)运行Python程序

(4)解释器内置类型

 

  (1)Python解释器

 

● 基本用法

Python解释器可以在命令行模式下运行,以下是运行语法:

python [options] [-c cmd | filename | - ] [args]

若指定filename,则Python解释器将打开指定文件并执行其语句,直到文件结束标志; 若filename未指定,则进入“交互式会话”。

-c cmd选项可用于以命令行选项形式执行短程序,如:python -c "print('hello')"

args参数将通过sys.args传递给程序,程序中可读出这些参数。

 

以下是常用 [options] 选项

选项 说明
-B 阻止在导入时创建 .pyc 或 .pyo 文件
-E 忽略环境变量
-h 打印所有可用命令行选项的列表
-i 在程序执行后进入交互模式(对调试很有用)
-m module 以脚本的形式运行库模块 module
-O 优化模式
-OO 优化模式,在创建 .pyo 文件时删除文档字符串
-s 阻止将用户站点目录添加到 sys.path
-S 阻止包含 site 初始化模块
-t 报告关于不一致的制表符使用警告
-tt 由于不一致的制表符使用而导致 TabError 异常
-u 未缓冲的二进制 stdout 和 stdin
-U 在Python2中,使所有字符串字面量都以 Unicode 形式处理(Python3中无效)
-v 详细模式,跟踪导入语句
-V 打印版本号并退出
-x 跳过源程序的第一行
-c cmd 以字符串形式执行 cmd

 

 

● 环境变量

Python启动时,会从操作系统中读取一些环境变量(如果有),以下是一些常用的环境变量:

环境变量 说明
PYTHONPATH 以冒号分隔的模块搜索路径,在Windows上,还可以从 HKEY_LOCAL_MACHINE/Software/Python 的注册表项读取
PYTHONSTARTUP 在以交互方式启动时执行的文件
PYTHONHOME Python的安装位置
PYTHONINSPECT 相当于 -i 选项
PYTHONBUFFERED 相当于 -u 选项
PYTHONIOENCODING 针对 stdin, stdout, stderr 的编码和错误处理,这是一个 encoding[:errors] 形式的字符串,如:utf-8:ignore
PYTHONDONTWRITEBYTECODE 相当于 -B 选项
PYTHONOPTIMIZE 相当于 -O 选项
PYTHONNOUSERSITE 相当于 -s 选项
PYTHONVERBOSE 相当于 -v 选项
PYTHONUSERBASE 每个用户站点包的根目录
PYTHONCASEOK 指示对导入所使用的模块名称使用不区分大小写的匹配方式

 

 

 

  (2)Python交互式会话

如果没有给定程序名称,并且Python解释器的标准输入为一个交互式终端,Python将在交互模式下启动。 在这种模式下,解释器会执行PYTHONSTARTUP环境变量(如果有)中包含的脚本。 该脚本将作为输入程序的一部分执行(即无需使用 import 语句加载它)。 该脚本的第一项应用就是读取用户配置文件,如 .pythonrc。

可以修改sys.ps1sys.ps2的值来更改提示符。

在交互模式下,最后一次运算的结果存储在特殊变量_中。可以在交互模式中使用这个变量。如:

>>> 1 + 2
5
>>> _ + 3
>>> 6

 

默认情况下,交互模式下运行的结果会在屏幕上全部打印出来。通过将变量sys.displayhook设为自定义函数, 可以省略显示运行结果,下面是一个例子,对于要显示结果大于40个字符的结果,省略显示其中的中间部分:

>>> def my_display(x):
...     r = repr(x)
...     if len(r) > 40: print(r[:40] + '...' + r[-1])
...     else: print(r)
>>> sys.sisplayhook = my_display
>>> list(range(100))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1...]
>>> 

 

 

 

  (3)运行Python程序

● 启动Python应用程序

在Linux环境下,有以下2个方法可以自动启动Python解释器来执行 .py 文件,

方法一:通过chmod增加x属性的方法

方法二:可在.py文件头部指定Python解释器名称, 如: #!/usr/bin/python3

 

在Windows环境下,双击:.py, .pyw, .wpy, .pyc, .pyo 将自动启动Python解释器。 通常,程序在控制台窗口中运行,若使用了.pyw 后缀对它们进行了重命名,程序将静默运行。 如果要为解释器提供选项,Python也可以从一个 .bat 文件启动。

 

 

● 程序终止

当出现以下情况时,程序将会终止:输入程序中没有可执行的其他语句时、 出现未捕获的 SystemExit 异常(由sys.exit()生成), 解释器收到SIGTERMSIGHUP信号时。

程序退出时,解释器减小当前已知命名控件中所有对象的引用计数(同时销毁每个命名空间)。 如果一个对象的引用计数达到0,将销毁该对象并调用其__del__()方法。 但是若对象之间存在循环引用,就可能在程序终止时不会调用这个对象的__del__(), 所以这时需要显式清除某些对象(比如已打开的文件或网络套接字); 或者利用垃圾回收器来完成这个工作。

用户可以编写一个终止函数并将其注册到 atexit 模块,用户可以用法示例如下:

import atexit, gc

def cleanup():
    print('before program exit...')
    gc.collect()    # 调用垃圾回收器来完成清除工作
    
atexit.register(cleanup)

有时候希望不执行任何清除操作而终止程序执行,这可以同通过调用os._exit(status)来完成。 该函数提供了针对底层 “exit()系统调用”的接口,调用该函数时,程序将立即终止, 而且不会执行任何进一步的清除操作。

 

 

● site配置文件

(1)第三方站点目录

一般Python的第三方模块和包(比如通过 pip 安装的包)会被安装到 site-package 目录下, 这个目录称为第三方站点目录。在第三方站点目录中安装的包,所有用户都能使用。 在Linux中,这个目录一般在形如:/usr/local/lib/python3.7/site-

请关注公众号获取更多资料


Python语法速查: 15. 解释器与执行环境(一) https://www.cppentry.com/bencandy.php?fid=77&id=280158

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Python3标准库:statistics统计计.. 下一篇python3中运用urllib抓取贴吧的邮..

评论

验 证 码:
表  情:
内  容: