安装完毕Python 3.7.2后,可用的内置模块和标准库共计 224 个,以下简单介绍常用的 sys 模块和 datetime 模块(库)的基本功能,其他内置模块(库)的相关功能可参看Python文档。本节教程先来介绍 sys 模块。datetime 模块下节介绍。
sys 模块提供了一系列有关 Python 运行环境的变量和函数,其常用属性和方法如表 1 所示。
属性或方法 | 描述 |
---|---|
sys.argv | 获取命令行参数列表,第一个参数是程序本身 |
sys.exit(n) | 退出 Python 程序,exit(0) 表示正常退出。当参数非 0 时,会引发一个 SystemExit 异常,可以在程序中捕获该异常 |
sys.version | 获取 Python 解释程器的版本信息 |
sys.maxsize | 最大的 Int 值,在 64 位操作系统上是 263-1 |
sys.path | 返回模块的搜索路径,初始化时使用 PYTHONPATH 环境变量的值 |
sys.platform | 返回操作系统平台名称 |
sys.stdin | 输入相关 |
sys.stdout | 输出相关 |
sys.stderr | 错误相关 |
sys.exc_infd() | 返回异常信息三元元组 |
sys.getdefaultencoding() | 获取系统当前编码,默认为 UTF-8 |
sys.setdefaultencoding() | 设置系统的默认编码 |
sys.getfilesystemencoding() | 获取文件系统使用编码方式,默认是 UTF-8 |
sys.modules | 以字典的形式返回所有当前 Python 环境中已经导入的模块 |
sys.builtin_module_names | 返回一个列表,包含所有已经编译到 Python 解释器里的模块的名字 |
sys.copyright | 当前 Python 的版权信息 |
sys.flags | 命令行标识状态信息列表 |
sys.getrefcount(object) | 返回对象的引用数量 |
sys. getrecursionlimit() | 返回 Python 最大递归深度,默认为 1000 |
sys.getsizeof(object[, default]) | 返回对象的大小 |
sys.getswitchinterval() | 返回线程切换时间间隔,默认为0.005秒 |
sys.setswitchinterval(interval) | 设置线程切换的时间间隔,单位为秒 |
sys. getwindowsversion() | 返回当前 Windows 系统的版本信息 |
sys.hash_info | 返回 Python 默认的哈希方法的参数 |
sys.implementation | 当前正在运行的 Python 解释器的具体实现,如 CPython |
sys.thread_info | 当前线程信息 |
以下是调用表 1 中部分属性或方法的代码:
import sys sys.version sys.platform sys.getdefaultencoding() sys.copyright sys.getwindowsversion() sys.implementation
上述代码的运行结果如下所示:
>>> import sys
>>> sys.version
'3.7.2rc1 (tags/v3.7.2:9a3ffc0492, Apr 23 2020, 21:39:28) [MSC v.1916 64 bit (AMD64)]'
>>> sys.platform
'win32'
>>> sys.getdefaultencoding()
'utf-8'
>>> sys.copyright
'Copyright (c) 2001-2020 Python Software Foundation./nAll Rights Reserved./n/nCopyright (c) 2000 BeOpen.com./nAll Rights Reserved./n/nCopyright (c) 1995-2001 Corporation for National Research Initiatives./nAll Rights Reserved./n/nCopyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam./nAll Rights Reserved.'
>>> sys.getwindowsversion()
sys.getwindowsversion(major=10, minor=0, build=17763, platform=2, service_pack='')
>>> sys.implementation
namespace(cache_tag='cpython-38', hexversion=50856897, name='cpython', version=sys.version_info(major=3, minor=8, micro=3, releaselevel='candidate', serial=1))
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/23774.html