– 乌拉: Python程序设计 【萨大·懒人笔记】
#print("Hello COOKIES")
#以下 2020.11.24 【Python】
import os
import shutil
#----文件操作open()-------------------------------------------
# r只读 r+读写 rb+二进制读写 w写 w+读写 wb+二进制读写 a追加
#-------------------------------------------------------------
#----创建目录--------------------------------
def create():
os.mkdir('D:/Hello') #创建单目录
os.makedirs('D:/Hello/Kitty/hula/') #创建多目录
create()
#----获取目录:程序当前所在目录--------------
def getFile():
dir = os.getcwd()
dir = os.listdir()
print(dir)
getFile()
#----删除目录--------------------------------
def drop():
os.remove('D:/Hello/Kitty/hula/') #空目录
shutil.remove('D:/Hello/Kitty/') #包含内容
#drop()
#
#----目录遍历--------------------------------
lt = os.walk('D:\TCPP30E')
def blZero():
for value in lt:
print(value)
#blZero()
#Eg0:撒币辉的基本遍历【盘符】
#----
def tree():
for root, dirs,files in lt:
for dir in dirs:
print("目录:",os.path.join(root,dir))
for file in files:
print("文件:",os.path.join(root,file))
tree()
#==================================================
#----异常处理--------------------------------------------------
#Ps:处理对象并未被捕获,程序会自动回溯,返回错误信息,并终止程序
#内置常用标准异常类:
#BassException 所有异常类的直接或间接基类
#捕获与处理异常
#----
#try-except语句处理
#try:
#可能出现异常语句
#except: #对应出现的异常类名
#处理过程
#else:
#Eg1:
#
def sbhui():
try:
a = 1
b = 0
print(a/b)
print("str"+a)
except Exception: #可以使用父类捕获所有异常-弊端无法精确异常类型
print("程序错误")
except ZerovisitError:
print("除数数字为0")
except TypeError:
print("类型转换错误")
#----
#as起别名,对象包含基本描述信息
except (ZerovisitError,TypeError) as error:
print("程序错误",error) #无法打印所有异常信息,只能打印基本描述信息
#----
#try-except-else语句处理
#、else:
#
#----
#try-finally语句
#、finally:
#无论发生什么都继续执行
#==========================================
#----异常触发------------------------------
#1.程序因错误自动触发的异常;2.异常触发显示
def raiseError():
try:
#raise语句 --可根据业务逻辑自动触发
if score < 0:
raise Exception('成绩小于0')
else:
print("成绩输入完成")
except Exception as error:
print(error)
#raiseError()
#assert语句 --断言
def assertError():
try:
assert score > 0,'成绩小于0'
#、except:
#、except Exception as error:
print(error)
#assertError()
#自定义异常类
class MyException(Exception):
"""docstring for MyException"""
def __init__(self, message):
super(MyException, self).__init__(message)
self.message = message
def text():
print()
#----异常回溯----------------------------
#使用 sys模块下的 exe_info()
#---------------------------------------------------
#以下 2020.11.25 【正则表达式】
#----处理对象:字符串有规则的处理的工具,同时也是一个类
# .匹配除"\n"字符外的字符 \转义字符 [...] [a-c] #匹配a到c [^abc]不匹配abc
# \d \D 匹配数字 \s \S 匹配空 \w \W 匹配字母下划线
# re模块提供正则表达式类库 #import re
# re.match 从起始位置匹配,成功返回匹配对象,不成功返回None-
# -可使用group()显示匹配对象 默认第0组
import re
word = "abc12345defg"
pattern = '.*\d+.*' #*匹配0次或无限次 +匹配至少1次或无限次
resoult0 = re.match(pattern,word)
print(resoult0.group())
#----
# flags标记位 re.I使匹配对大小写不敏感 re.M多行匹配对*和有影响
# search()
pattern1 = r'\d'
resoult1 = re.search(pattern1,word)
print(resoult1)
# findall() 找到匹配里正则表达式的所有子串
resoult2 = re.findall(pottern1,resoult1)
print(resoult2)
#----
pattern3 = r'[a-zA-Z]+'
resoult3 = re.findall(pattern3,word)
print(resoult3)
# finditer()
pattern4 = re.finditer(pattern1,word) #匹配所有数字
for n in pattern4:
print(n.group)
# relit()分隔 & sub()替换
pattern5 = 'abc'
resoult5 = re.sub(pattern5,'Del',word)
print(resoult5)
#print("Hello MyGod")
#以下 2020.11.28 【Python】
#----正则表达式-----------
#变量命名:RE、Regex 、Rege
# .匹配除“/n”以外的所有字符
# \ 转义字符 [...]代表任意范围集合
# \d数字 \D非数字 \s空白字符 \S非空白符
# *匹配0次或无限次 +至少1次或无限次
# ?匹配字符0次或1次 ^匹配字符串开头
# $匹配末尾字符串 \A匹配字符串开头 \Z匹配字符串末尾 \b匹配\w\W之间 \B与\b取反
# (?P<number>...) \<number> (?P=name)
#处理字符
import re
text("Hello MyGod")
#----re.match()
pattern = r"he"
result = re.match(pattern, text, flags = re.I)
#尝试从字符起始位置匹配 I忽略大小写限制
print(result.group())
# re.seaech() 搜索一次
# re.findall() 搜索所有
board("")
pattern1 = r"/d+"
# re.split() 按子串格式分割
# re.sub() 替换 re.subn()
# re.fullmatch()
# re.findtiter()
– 关于 笔记内容 内容,参考 《AI盒子里の猫·懒人笔记》