Python课堂筆记【第八期丨Lazy’s Note】( ̄o ̄)

– 乌拉: 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盒子里の猫·懒人笔记》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值