跳转至

Python标准库

概要: Python标准库中包含了大量有用的模块,可以在Python安装包中附带的文档中库概览(Library Reference)部分可以查找到所有模块的全部细节。

创建时间: 2022.10.02 11:47:20

更新时间: 2022.10.02 11:49:53

sys模块

sys模块中半酣了一些特定系统的功能,下面示例给出其相关用法。
示例运行结果如下

Text Only
1
2
3
4
5
6
7
8
PS E:\sublime text 3 files\python3> python
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=6, micro=3, releaselevel='final', serial=0)
>>> sys.version_info.major == 3
True

提示

从上例我们可以看出,sys模块包含一个version_info元祖,它提供给我们版本信息

日志模块

当我们需要调试(Debugging)程序时,我们可以通过logging模块来实现
示例程序块如下

Python
import os
import platform
import logging

if platform.platform().startswith("Windows"):
    logging_file = os.path.join(os.getenv('HOMEDRIVE'), os.getenv('HOMEPATH'), 'test.log')
else:
    logging_file = os.path.join(os.getenv('HOME'), 'test.log')

print("Logging to", logging_file)

logging.basicConfig(
    level = logging.DEBUG,
    format = '%(asctime)s : %(levelname)s : %(message)s',
    filename = logging_file,
    filemode = 'w',
    )

logging.debug("Start of the program")
logging.info("Doing something")
logging.warning("Dying now")
运行结果如下
Text Only
1
2
3
4
5
6
PS E:\sublime text 3 files\python3> python stdlib_logging.py
Logging to C:\Users\Administrator\test.log
PS E:\sublime text 3 files\python3> cat  C:\Users\Administrator\test.log
2018-04-26 22:57:43,345 : DEBUG : Start of the program
2018-04-26 22:57:43,345 : INFO : Doing something
2018-04-26 22:57:43,345 : WARNING : Dying now

提示

  1. 上述示例使用了三款标准库中的模块,分别为:①os模块用于和操作系统交互 ②platform模块用于获取我们使用的操作系统的信息 ③logging模块用来记录(Log)信息

  2. 在示例中,首先通过检查platform.platform()的返回值来确认我们使用的操作系统,如果是Windows,我们就找出来其主驱动器(Home Drive),主文件夹(Home Folder)以及我们希望存储信息的文件名,并将这三个部分汇聚一起,这样我们便得到了此文件的全部位置信息。对其他平台而言,我们只需知道主文件夹位置便可以获得文件的全部位置信息

  3. 其次,我们使用os.path.join()函数将三部分位置信息聚合到一起

  4. 再者,我们配置logging模块,从而让它以特定的格式将所有信息写入我们制定的文件内

  5. 最后不论这些信息时用来调试,提醒或者警告以及其他信息,我们的日志文件test.log都会将其聚合并记录,这样,我们就可以知道自己的程序在运行过程中发生了什么事情

更多内容,请参考Python Module of the Week或者Python的官方文档