CodingLifeDay3:Python:模块、文件、正则表达式

目录

1,模块

2,文件

基本操作

异常处理

3,正则表达式

符号含义

re模块的常用方法


1,模块

"""
[导入:import]
①import 模块名 [as 别名]
这个语句会导入模块中的所有成员,当需要使用模块中的成员时,需要使用模块名或者别名作前缀
②from 模块名 import 成员名1 [as 别名1] , 成员名2 [as 别名2]
这个语句会导入模块中的指定成员,使用指定成员时无需使用模块名作前缀
注意:[ ]内的语句是为模块/成员起别名,可以不进行这个操作。但是一旦起了别名,调用时只能使用别名。
"""

# 示例1
import sys, time as TIME # 一次导入两个模块
print(sys.winver)
start_time = TIME.time()

# 示例2
from sys import argv as ar, winver
print(ar[0])
print(winver)

2,文件

基本操作

"""
文件:
①打开:file=open(filename,m)-----m是打开方式,如'w','a',默认为'r'
②关闭:file.close()
③写入:file.write(str)
④读取:file.read(chnum)---------chnum:指定读取的字符数,为空时直接读取全部内容
file.readlines()----------------以列表形式返回全部内容,列表每一个元素为文件内容的一行
file.readline()-----------------读取文件内容的一行,再次调用时会读取下一行的内容
⑤重命名:import os---os.rename(filename,newname)
⑥删除:import os---os.remove(filename)
"""
"""
文件补充:
①指针偏移,使用seek方法:filename.seek(offset, whence)
offset:移动的字节数。大于0表示向文件末尾方向移动,小于0表示向文件开头方向移动。
whence:可选。默认为0,表示从文件头开始偏移;1表示从当前位置开始偏移;2表示从文件尾开始偏移。
使用tell方法获得指针当前位置:filename.tell()
②with语句:with对实现了__enter__()和__exit__()方法的对象使用。
with expression as target: # 首先expression被求值,接着target接收expression的__enter__()方法的返回值。
    with_body # 执行这段代码的过程无论是否产生异常,都会调用expression的__exit__()方法完成“清理”工作(例如关闭文件释放资源)。
"""

异常处理

try:
    测试代码段
except (ErrorName1, ErrorName2) as result:
    print(result)  # 捕获到错误后,会打印出错误描述
    产生异常时执行的代码段
else:
    没有异常时执行的代码段
finally:
    无论是否产生异常都会执行的代码段
# 要想捕获所有异常:将(ErrorName1, ErrorName2)替换为Exception

3,正则表达式

符号含义

"""
正则表达式符号含义:
.     : 表示任何单个字符(不包括换行符)
[ ]   : 字符集,对单个字符给出取值范围
[^ ]  : 非字符集,对单个字符给出排除范围
*     : 前一个字符0次或无限次扩展
+     : 前一个字符1次或无限次扩展
?     : 前一个字符0次或1次
|     : 左右表达式任意一个
{ m } : 表示前一个字符扩展m次
{m, } : 表示前一个字符扩展次数≥m
{m,n} : 表示前一个字符扩展[m,n]次
^     : 匹配字符串开头
$     : 匹配字符串结尾
( )   : 分组标记,内部只能使用|
\d    : 数字字符,等价于[0-9]
\D    : 非数字字符
\w    : 单词字符,等价于[A-Za-z0-9_]:数字字母加下划线
\W    : 非单词字符
\s    : 空白符:Space,Tab,换行符
\S    : 非空白符
"""

re模块的常用方法

正则表达式通常搭配re模块使用:import re
"""
①object = re.compile(pattern, flags)  # 将正则表达式转化为对象,供re的其他方法调用
说明:pattern是字符串形式的正则表达式,通常写成r"str"的形式,前面加r可以使得字符串不被转义。
flags可选,用于控制匹配模式,常用的有re.I(使匹配对大小写不敏感)和re.S(使.匹配包括换行在内的所有字符)。
②re.findall(pattern, string, flags)  # 以列表形式返回string中所有能与pattern相匹配的字符串
③re.search(pattern, string, flags)  # 返回第一个成功匹配的对象
④re.match(pattern, string, flags)  # 从字符串起始位置开始匹配,返回第一个成功匹配的对象
⑤re.sub(pattern, repl, string, count, flags) # 在string中将符合pattern的字符串替换为repl。count和flags可选,前者表示替换发生的次数。
⑥re.subn:参数与sub相同。但返回的结果是一个元组,包含两个元素:分别是替换后string(也就是sub返回的结果)和发生替换的次数。
"""
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值