一、操作系统接口

  • 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:国际化支持。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐