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

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

python left join算法 python的join函数用法_正则表达式

针对日常的文件和目录管理任务,:mod:shutil 模块提供了一个易于使用的高级接口

glob模块提供了一个函数用于从目录通配符搜索中生成文件列表

通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。

sys 还有 stdin,stdout 和 stderr 属性,即使在 stdout 被重定向时,后者也可以用于显示警告和错误信息

re模块为高级字符串处理提供了正则表达式工具。对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:

math模块为浮点运算提供了对底层C函数库的访问

random提供了生成随机数的工具

最简单的两个是用于处理从 urls 接收的数据的 urllib.request 以及用于发送电子邮件的 smtplib

datetime模块为日期和时间处理同时提供了简单和复杂的方法。支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出

直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile

python left join算法 python的join函数用法_正则表达式_02

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()

python left join算法 python的join函数用法_正则表达式_03