【学Python自动化】 10 Python 标准库简介
xmlrpc.client 和 xmlrpc.server:远程过程调用。xml.etree.ElementTree:XML处理。gettext、locale、codecs:国际化支持。email:邮件处理(MIME、标头等)。sqlite3:SQLite数据库接口。json:JSON解析。csv:CSV文件读写。
·
一、操作系统接口
- os 模块:提供与操作系统交互的函数。
import os
os.getcwd() # 获取当前工作目录
os.chdir('/path/') # 更改工作目录
os.system('command') # 执行系统命令
- 避免使用 from os import *,以免覆盖内置函数(如 open)。
- 使用 dir(os) 和 help(os) 查看模块内容。
- shutil 模块:更高级的文件和目录管理。
import shutil
shutil.copyfile('src', 'dst')
shutil.move('src', 'dst')
二、文件通配符
- glob 模块:用于文件名模式匹配。
import glob
glob.glob('*.py') # 返回所有.py文件列表
三、命令行参数
- sys.argv:存储命令行参数的列表。
import sys
print(sys.argv) # 例如:['demo.py', 'one', 'two']
- argparse 模块:更强大的命令行参数解析。
import argparse
parser = argparse.ArgumentParser(description='描述')
parser.add_argument('filenames', nargs='+')
parser.add_argument('-l', '--lines', type=int, default=10)
args = parser.parse_args()
四、错误输出重定向和程序终止
- sys.stderr:用于输出错误信息。
import sys
sys.stderr.write('Warning message\n')
sys.exit() # 终止程序
五、字符串模式匹配
- re 模块:正则表达式工具。
import re
re.findall(r'\bf[a-z]*', '字符串') # 匹配单词
re.sub(r'模式', r'替换', '字符串') # 替换
- 简单操作推荐使用字符串方法(如 replace)。
六、数学
- math 模块:数学函数。
import math
math.cos(math.pi/4)
math.log(1024, 2)
- random 模块:随机数生成。
import random
random.choice(['a', 'b', 'c'])
random.sample(range(100), 10)
random.random()
- statistics 模块:统计计算。
import statistics
statistics.mean(data)
statistics.median(data)
statistics.variance(data)
七、互联网访问
- urllib.request:从URL获取数据。
from urllib.request import urlopen
with urlopen('URL') as response:
for line in response:
print(line.decode().rstrip())
- smtplib:发送邮件(需本地邮件服务器)。
import smtplib
server = smtplib.SMTP('localhost')
server.sendmail('from', 'to', 'message')
server.quit()
八、日期和时间
- datetime 模块:日期时间操作。
from datetime import date
now = date.today()
now.strftime("%m-%d-%y")
age = now - birthday # 计算时间差
九、数据压缩
- 支持格式:zlib, gzip, bz2, lzma, zipfile, tarfile。
import zlib
s = b'example'
t = zlib.compress(s)
zlib.decompress(t)
zlib.crc32(s)
十、性能测量
- timeit 模块:测量代码执行时间。
from timeit import Timer
Timer('代码片段', '初始化代码').timeit()
- profile 和 pstats:分析代码性能。
十一、质量控制
- doctest 模块:验证文档字符串中的示例。
def func(values):
"""示例:
>>> func([1,2,3])
2.0
"""
return sum(values)/len(values)
import doctest
doctest.testmod()
- unittest 模块:更全面的测试框架。
import unittest
class TestClass(unittest.TestCase):
def test_method(self):
self.assertEqual(func(...), 预期结果)
unittest.main()
十二、自带电池
Python标准库功能丰富,还包括:
-
xmlrpc.client 和 xmlrpc.server:远程过程调用。
-
email:邮件处理(MIME、标头等)。
-
json:JSON解析。
-
csv:CSV文件读写。
-
xml.etree.ElementTree:XML处理。
-
sqlite3:SQLite数据库接口。
-
gettext、locale、codecs:国际化支持。
更多推荐
所有评论(0)