知识总结

本文介绍正则表达式的使用方法,包括匹配、分组、替换等功能,并讲解了socket网络通信的基础概念,如TCP协议的数据传输和服务端、客户端的工作流程。

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

1.回顾知识点

1.正则相关的函数

r = re.match('正则表达式',源字符串) # 返回正则对象,如果匹配失败,返回None

r.group () # 返回是符合正则的源字符串

r.groups () # 返回符合正则源字符串中的 分组信息 ' () ' ,以tuple元组格式返回

r.groupdict () # 返回符合正则 (带有分组且有分组名: (?P<分组名>正则 ) ) 的源字符中分组字典信息。

I = re.split( '正则', '源字符串' ) # 返回 以正则表示的字符分源字符串之后的列表

s = re.sub ( '正则 ',新字符, 源字符串 ) # 返回 将源字符串中符合正则的字符替换成新字符之后的字符串

s = re.subn ('正则' ,新字符, 源字符串) # 同sub(),返回元组(替换后的字符,替换次数)

sl = re.findall ('正则','源字符串') # 查找源字符串中符合正则的字符,并返回list, 如果正则中包含分组(),分组的信息以元组tuple方式显示在列表

常用的正则元字符:

[a-zA-Z] : 表示一位任意一位的字母和下划线,表示位数可以使用:

*:(0到多个)

?:(0或者1位)

+:(至少一个)

{n,}: (至少n个)

{n,m}: n到m个

. : 除了特殊符号以外,任意一个字符

[0-9] : 表示一位数字, 等同于 \d

[0-9a-zA-Z _ ] : 数字字母及下划线,及 \w

[^0- 9] : 非数字的任意字符, 等同于 \D

[0-9a-zA-Z _ ] :非数字、字母、下划线的任一字符, \W

\s : 空格、换行、换页、制表 等有空格符号

\S : 非空格的 字符

        ^ : 行首, 开始位置

        $ :行尾, 结束位置

 

  1. socket 网络通信 (基于网络)

    socket_family: AF_INET

    type: SOCK_STREAM , 主要用于TCP协议的数据传输

    1). TCP 通信

    面向连接、数据是序列化(二进制方式、字节流bytes),且是连续的,可多次发送

    服务端:

    s = socket.socket ()

    s.bind((host, port ))

    s.listen(10) # 10 表示, 允许最大连接数

    client, addr = s.accept () 等待客户端的连接, 会阻塞。

    解决方案:可以设置等待连接的超时时间在accept()方法的上方设置:s.settimeout(30),默认单位为秒

 

client.send(b 'hi')

data = client.recv ( 1024 ) # 一次从客户端读取1024字节,即1 k byte

while data:

data = client.recv(1024) # 发送数据结束时,必须发送 “ ” 带空格的字符串

服务端:

s = socket.socket ( )

s.connect ( (host, port) ) # 连接服务器

s.send ( '发送数据'.encode() )

#s.send ( b' ' )

data = s.recv (1024) # 接收数据

print (data.decode() )

 

3.多线程

1)创建线程

t1 = threading.Thread (target=函数名, args=(参数,))

2)启动线程

t1.start ()

3) 等待线程结束

t1.join () # 当前线程等待 t1 线程结束

4)线程锁 (Lock) :

来保护多个线程对同一资源(变量,对象, 可迭代的对象/数据( iterable ) ) 操作时的安全性, 即在一个资源在加锁后,只能有一个线程来占用,其他线程则等待锁的释放。

1)创建锁: lock = threading.Lock ()

2)加锁:lock.acquire ()

n += 20

3)解锁: lock.release()

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在 IT 领域,文档格式转换是常见需求,尤其在处理多种文件类型时。本文将聚焦于利用 Java 技术栈,尤其是 Apache POI 和 iTextPDF 库,实现 doc、xls(涵盖 Excel 2003 及 Excel 2007+)以及 txt、图片等格式文件向 PDF 的转换,并实现在线浏览功能。 先从 Apache POI 说起,它是一个强大的 Java 库,专注于处理 Microsoft Office 格式文件,比如 doc 和 xls。Apache POI 提供了 HSSF 和 XSSF 两个 API,其中 HSSF 用于读写老版本的 BIFF8 格式(Excel 97-2003),XSSF 则针对新的 XML 格式(Excel 2007+)。这两个 API 均具备读取和写入工作表、单元格、公式、样式等功能。读取 Excel 文件时,可通过创建 HSSFWorkbook 或 XSSFWorkbook 对象来打开相应格式的文件,进而遍历工作簿中的每个 Sheet,获取行和列数据。写入 Excel 文件时,创建新的 Workbook 对象,添加 Sheet、Row 和 Cell,即可构建新 Excel 文件。 再看 iTextPDF,它是一个用于生成和修改 PDF 文档的 Java 库,拥有丰富的 API。创建 PDF 文档时,借助 Document 对象,可定义页面尺寸、边距等属性来定制 PDF 外观。添加内容方面,可使用 Paragraph、List、Table 等元素将文本、列表和表格加入 PDF,图片可通过 Image 类加载插入。iTextPDF 支持多种字体和样式,可设置文本颜色、大小、样式等。此外,iTextPDF 的 TextRenderer 类能将 HTML、
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值