没有合适的资源?快使用搜索试试~ 我知道了~
首页Python文件处理、正则表达式与MySQL进阶教程
Python文件处理、正则表达式与MySQL进阶教程
需积分: 10 0 下载量 140 浏览量
更新于2024-07-08
收藏 1.54MB PDF 举报
本资源是一份全面的教程文档,由吕泽撰写,主要涵盖了文件处理、正则表达式以及数据库管理,特别是MySQL的相关内容。文件处理部分首先介绍了文件操作的基础概念,包括如何使用Python的os模块进行文件的打开、读取、写入、关闭,以及with语句的使用,同时讲解了读写缓冲区和文件偏移量的概念。正则表达式则是文本处理的重要工具,涵盖了元字符的使用、匹配规则、特殊字符匹配、贪婪模式与非贪婪模式,以及Python re模块的使用,如基础函数调用、match对象的生成和使用。 在数据库管理章节,作者详细阐述了数据库的概述,重点关注MySQL这一关系型数据库系统。内容包括SQL语言基础,如数据表的管理,涉及到数据类型、基本操作(如插入、查询、更新、删除),表字段的修改,以及时间类型数据的处理。此外,还深入讲解了高级查询语句、聚合操作(如聚合函数、分组、筛选)、索引操作(创建、分类和使用)、外键约束和表关联关系,以及E-R模型图的应用。存储过程和存储函数、事务控制(包括特性、操作和隔离级别)以及数据库优化策略,如设计范式、存储引擎选择、SQL优化等,也在文档中占据重要位置。 最后,文档还涉及到了数据库的安全和管理,如表复制、备份、远程连接、用户管理和权限设置,以及pymysql模块在数据处理中的应用概述。这份文档提供了一个完整的框架,帮助读者理解和掌握从数据获取、解析到存储和管理的整个过程,是IT专业人士和初学者学习文件操作和数据库管理的宝贵资料。
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/54997027/bgd.jpg)
2. 正则表达式
2.1 概述
学习动机
1. 文本数据处理已经成为常见的编程工作之一
2. 对文本内容的搜索,定位,提取是逻辑比较复杂的工作
3. 为了快速方便的解决上述问题,产生了正则表达式技术
定义
即文本的高级匹配模式,其本质是由一系列字符和特殊符号构成的字串,这个字串即正则表达式。
原理
通过普通字符和有特定含义的字符,来组成字符串,用以描述一定的字符串规则,比如:重复,位置等,来表达某类
特定的字符串,进而匹配。
学习目标
1. 熟练掌握正则表达式元字符
2. 能够读懂常用正则表达式,编辑简单的正则规则
3. 能够熟练使用re模块操作正则表达式
2.2 元字符使用
普通字符
匹配规则:每个普通字符匹配其对应的字符
注意:正则表达式在python中也可以匹配中文
或关系
os模块使用示例:file.py
import os
print("文件大小:",os.path.getsize("file.txt"))
print("文件列表:",os.listdir("."))
print("文件是否存在:",os.path.exists("file.txt"))
os.remove("file.txt")
e.g.
In : re.findall('ab',"abcdefabcd")
Out: ['ab', 'ab']
![](https://csdnimg.cn/release/download_crawler_static/54997027/bge.jpg)
元字符: |
匹配规则: 匹配 | 两侧任意的正则表达式即可
匹配单个字符
元字符: .
匹配规则:匹配除换行外的任意一个字符
匹配字符集
元字符: [字符集]
匹配规则: 匹配字符集中的任意一个字符
表达形式:
[aeiou你我他] 表示 [] 中的任意一个字符
[0-9],[a-z],[A-Z] 表示区间内的任意一个字符
[_#?0-9a-z] 混合书写,一般区间表达写在后面
匹配字符集反集
元字符: [^字符集]
匹配规则:匹配除了字符集以外的任意一个字符
e.g.
In : re.findall('com|cn',"www.baidu.com/www.tmooc.cn")
Out: ['com', 'cn']
e.g.
In : re.findall('张.丰',"张三丰,张四丰,张五丰")
Out: ['张三丰', '张四丰', '张五丰']
e.g.
In : re.findall('[aeiou]',"How are you!")
Out: ['o', 'a', 'e', 'o', 'u']
e.g.
In : re.findall('[^0-9]',"Use 007 port")
Out: ['U', 's', 'e', ' ', ' ', 'p', 'o', 'r', 't']
![](https://csdnimg.cn/release/download_crawler_static/54997027/bgf.jpg)
匹配字符重复
元字符: *
匹配规则:匹配前面的字符出现0次或多次
元字符: +
匹配规则: 匹配前面的字符出现1次或多次
元字符: ?
匹配规则: 匹配前面的字符出现0次或1次
元字符: {n}
匹配规则: 匹配前面的字符出现n次
元字符: {m,n}
匹配规则: 匹配前面的字符出现m-n次
e.g.
In : re.findall('wo*',"wooooo~~w!")
Out: ['wooooo', 'w']
e.g.
In : re.findall('[A-Z][a-z]+',"Hello World")
Out: ['Hello', 'World']
e.g. 匹配整数
In [28]: re.findall('-?[0-9]+',"Jame,age:18, -26")
Out[28]: ['18', '-26']
e.g. 匹配手机号码
In : re.findall('1[0-9]{10}',"Jame:13886495728")
Out: ['13886495728']
![](https://csdnimg.cn/release/download_crawler_static/54997027/bg10.jpg)
匹配字符串开始位置
元字符: ^
匹配规则:匹配目标字符串的开头位置
匹配字符串的结束位置
元字符: $
匹配规则: 匹配目标字符串的结尾位置
规则技巧: ^ 和 $ 必然出现在正则表达式的开头和结尾处。如果两者同时出现,则中间的部分必须匹配整个目
标字符串的全部内容。
匹配任意(非)数字字符
元字符: \d \D
匹配规则: \d 匹配任意数字字符, \D 匹配任意非数字字符
e.g. 匹配端口
In : re.findall('\d{1,5}',"Mysql: 3306, http:80")
Out: ['3306', '80']
匹配任意(非)普通字符
元字符: \w \W
匹配规则: \w 匹配普通字符, \W 匹配非普通字符
e.g. 匹配qq号
In : re.findall('[1-9][0-9]{5,10}',"Baron:1259296994")
Out: ['1259296994']
e.g.
In : re.findall('^Jame',"Jame,hello")
Out: ['Jame']
e.g.
In : re.findall('Jame$',"Hi,Jame")
Out: ['Jame']
剩余78页未读,继续阅读
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/81af44357f2842449417c1bdc4319f5b_weixin_45305537.jpg!1)
我的娃娃
- 粉丝: 18
- 资源: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 新型矿用本安直流稳压电源设计:双重保护电路
- 煤矿掘进工作面安全因素研究:结构方程模型
- 利用同位素位移探测原子内部新型力
- 钻锚机钻臂动力学仿真分析与优化
- 钻孔成像技术在巷道松动圈检测与支护设计中的应用
- 极化与非极化ep碰撞中J/ψ的Sivers与cos2φ效应:理论分析与COMPASS验证
- 新疆矿区1200m深孔钻探关键技术与实践
- 建筑行业事故预防:综合动态事故致因理论的应用
- 北斗卫星监测系统在电网塔形实时监控中的应用
- 煤层气羽状水平井数值模拟:交替隐式算法的应用
- 开放字符串T对偶与双空间坐标变换
- 煤矿瓦斯抽采半径测定新方法——瓦斯储量法
- 大倾角大采高工作面设备稳定与安全控制关键技术
- 超标违规背景下的热波动影响分析
- 中国煤矿选煤设计进展与挑战:历史、现状与未来发展
- 反演技术与RBF神经网络在移动机器人控制中的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)