Python之基本语法join函数,模块处理

本文介绍了Python中的多个常用模块,包括字符串处理的join()函数、文件和目录管理的shutil模块、通配符搜索的glob模块等。此外还探讨了正则表达式、数学运算、随机数生成、网络请求及邮件发送等功能模块。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

函数:string.join()
Python中有join()和os.path.join()两个函数,具体作用如下:
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串


print('\n'.join([''.join((['LoveAndy'])),"Andy"]))

这里写图片描述

针对日常的文件和目录管理任务,:mod:shutil 模块提供了一个易于使用的高级接口
glob模块提供了一个函数用于从目录通配符搜索中生成文件列表
通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。
sys 还有 stdin,stdout 和 stderr 属性,即使在 stdout 被重定向时,后者也可以用于显示警告和错误信息
re模块为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:
math模块为浮点运算提供了对底层C函数库的访问
random提供了生成随机数的工具
最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib
datetime模块为日期和时间处理同时提供了简单和复杂的方法。支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出
直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile

这里写图片描述

crc32校验
对于crc校验,一般有两种方式。
单独对crc校验码进行校验。在这种方式中,原始数据和crc校验码是分开存储,分开进行校验的;
对原始数据crc校验码一起进行校验,进行校验的时候是不知道哪一部分是数据,哪一部分是crc校验码的。采用这种方法比较方便在使用起来,下面代码示例也是采用的这一种方式。

zlib
压缩算法介绍
- huffman编码,它主要是采用变长的字符进行压缩编码。出现的概率越高,其编码越短,最终编码长度相应的就越短。
解决同一问题的不同方法之间的性能差异。Python 提供了一个度量工具,为这些问题提供了直接答案

import zlib 
from timeit import Timer
import doctest
import unittest

s = b'with which has which witches wrist watch hello world arithmetic support calendar dates'
print(len(s))
t= zlib.compress(s)
print(len(t))
print(zlib.decompress(t))
print(zlib.crc32(s))

print(Timer('t =a;a =b; b=t','a=1;b=2').timeit())
print(Timer('a,b =b,a','a=1;b=2').timeit())

#相对于 timeit 的细粒度,:mod:profile 和 pstats 模块提供了针对更大代码块的时间度量工具。
#doctest模块提供了一个工具,扫描模块并根据程序中内嵌的文档字符串执行测试

def average(values):
    return sum(values)/len(values)


doctest.testmod()#自动验证嵌入测试
#unittest模块不像 doctest模块那么容易使用,不过它可以在一个独立的文件里提供一个更全面的测试集:

class Test(unittest.TestCase):
    def test_avg(self):
        self.assertEqual(average([20,30,70]),40.0)
        self.assertEqual(round(average([1,5,7]),1),4.3)
        self.assertRaises(ZeroDivisionError,average,[])
        self.assertRaises(TypeError,average,20,30,70)

unittest.main()

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值