包和正则表达式 re模块的使用

包的使用:

import.sys
print(sys.path) #查看执行文件的环境

环境变量是以执行文件为准的,所有被导入的模块或者后续的其他文件引用的sys.path都是参照执行文件的sys.path

 

针对包内部模块之间的相互导入推荐使用相对导入:

#1、相对导入只能在包内部使用,用相对导入不同目录下的模块是非法的
2、无论是import还是from-import,但凡是在导入时带点的,点的左边必须是包,否则语法错

 

绝对导入和相对导入:

# 程序中,多个模块之间导入的时候,始终以执行文件所在的路径为基准

绝对导入
	# 始终以执行文件所在的环境变量sys.path为基准
 相对导入
	"""
		句点符(.)
			.代表的是当前路径
			..代表上一层路径
	"""
 # 相对导入打破了以执行文件所在的路径为基准的原则, 只考虑两个文件之间的位置

'''当文件中出现了相对导入的句式,该文件就不能当成执行文件运行了,只能被当成导入文件使用'''

相对当如不能出执行文件的上一级,这个时候只能使用绝对导入

绝对导入的方法:

  • 这样的话文件路径就不会写死

包的使用:

import bbb
"""
导包发生了什么事?
    1. 运行执行文件,产生执行文件的名称空间
    2. 运行__init__.py文件, 把该文件中产生的名字保存在名称空间中
    3. 在执行文件中,产生一个包名字bbb指向包的名称空间
"""

# 导包就是在导__init__.py文件

print(bbb.x)

 

软件开发目录规范:

bin
	# 一般是存放启动文件,当启动文件只有一个的时候,也可以写在项目根目录
db:databases
	# 一般存放数据相关的文件
conf: config # 配置
	# 一般存放配置文件 里面的变量一般都是全大写 HOST='127.0.0.1'
    settings.py
lib:library 库
	# 存放一些公共的文件
	common.py文件
core/api:核心的
	# 一般写项目的核心逻辑
    src.py
README
	# 一般写一些说明性的信息,介绍项目用的
# https://github.com/

 

正则表达式:

'''
	正则表达式它跟任何一门语言都没有关系,它是一门独立的语言!!!
'''
# 什么是正则表达式?
	利用一些特殊符号来筛选出我们想要的数据
'''在python中,如果想使用正则表达式,我们需要借助于re模块!!!'''

括号里面需要转译的字符

字符组:

[0123456789] ====> [0-9]  =>>>>>> \d  # 匹配0-9的数字
[a-z]  # 匹配a-z之间的任何一个字符
[A-Z]  # 匹配A-Z之间的任何一个字符
[0-9a-xA-X] # ...

字符:

.  # 匹配除换行符以外的任意字符
\w #  匹配字母或数字或下划线
\d # 匹配数字
^  # 匹配字符串的开始
$  # 匹配字符串的结尾
a|b   # 匹配字符a或字符b
[^...] # ^如果写在中括号里面,则匹配除括号里面其他任意字符,非的意思

量词:

1. 量词不能单独使用
2. 量词只会影响前面的一个字符 (ab+ 只会影响b)
3. 量词一定配合表达式使用
*  # 重复零次或更多次
+	# 重复一次或更多次
?	# 重复零次或一次
{n}	# 重复n次	
{n,}# 重复n次或更多次
{n,m}# 重复n到m次

贪婪匹配:

re模块的使用

无名分组和有名分组:

无名分组:

search

findall,以列表的形式

有名分组:

?P<name> 固定格式

 

posted @ 2023-03-08 15:10  无敌大帅逼  阅读(59)  评论(0)    收藏  举报