绝对导入与相对导入,正则

绝对导入与相对导入

'''在程序中设计到多个文件之间导入模块的情况,一律按照执行文件所在的路径为准'''
# 以执行路径所在的路径为准
绝对导入(1)
	始终按照执行文件所在的sys.path查找模块
相对导入
	"""
	句点符(.)
		.表示当前文件路径
		..表示上一层文件路径
	"""
    能够打破始终以执行文件为准的规则 只考虑两个文件之间的位置
    # 相对导入只能用在模块文件中 不能在执行文件中使用
  • 绝对导入与相对导入(1)插图

  • 想要正常执行文件如下图所示

  • 只需要将m1的 import 句式改为 from...import... 句式方法

  • 第二种方式:绝对导入与相对导入(1)插图

取aaa的绝对路径使用 sys 添加即可. 其他两个模块不需要任何更改

软件开发目录规范

目录规范并无固定的要求,只要符合清晰可读即可

bin文件夹
存放一系列启动文件(当启动文件很少或者只有一个是也可以直接写在外面)
# start.py

conf文件夹
存放一系列配置文件
# settings.py

lib文件夹
存放公共功能
# common.py

db文件夹
存放数据相关文件
# userinfo.py

log文件夹
存放日志记录文件
# log.txt

core文件夹
存放项目核心代码文件
# src.py

# readme
存放说明相关信息(类似于说明书 广告 章程)

# requirements.txt
存放想入所需要的第三方模块及版本号

正则表达式

'''
正则表达式是一门独立的语言 跟其他变成语言都没有关系!
如果想在python代码中使用正则 需要借助于内置模块re
'''
# 什么时正则表达式
利用一些特殊符号的组合去字符串中筛选出符合条件的数据

'''
1.必须是11位
2.必须是纯数字
2.必须符合手机号的排布
'''

利用面向编程写出开头必须是15,16,18,19

phone = input('请输入您的手机号>>>').strip()
if len(phone) == 11:
  if phone.isdigit():
     if phone.startswith('15') or phone.startswith('16') or phone.startswith('18') or phone.startswith('19'):
        print('手机号正确')
      else:
        print('格式不对')
  else:
    print('手机号必须是纯数字')
else:
  print('必须是11位')
  
# 运用正则表达式...
import re
phone_number = input('please input your phone number : ')
if re.match('^(13|14|15|18)[0-9]{9}$',phone_number):
        print('是合法的手机号码')
else:
        print('不是合法的手机号码')

字符组

# 特征是使用中括号括起来的 字符串默认只能单个单个字符匹配
[0123456789] # 匹配0~9之间的任何一个数字
	可以简写为
  [0-9]
[a-z] # 匹配小写字母a到字母z其中任意一个字母
[A-Z] # 匹配大写字母A到字母Z其中任意一个字母
[0-9a-zA-Z] # 匹配所有的数字 小写 大写

特殊符号

# 特殊符号默认也只能单个单个字符匹配
.			 # 匹配换行符以外的任意字符
\d  	 # 匹配数字
^ 		 # 匹配字符串的开始
$ 		 # 匹配字符串的结尾
   '''^与$组合使用可以精准限制要查找的数据'''
a|b 	 # 匹配字符a或字符b
()  	 # 匹配括号内的表达式也表示一个组(不会影响正则表达式的匹配单纯的分组而已)
[...]  # 匹配字符组中的字符
[^...] # 匹配除了字符组中字符的所有字符

量词

1.表达式在没有量词修饰的情况下,都是单个匹配
2.量词必须结合(字符串,特殊符号等)一起使用,不能单独出现
3.量词只能影响前面的一个表达式(ab+ 只能影响b)

*			# 重复零次或者更多次
+			# 重复一次或更多次
?			# 重复零次或一次
{n}		# 重复n次
{n,}  # 重复n次或更多次
{n,m} # 重复n到m次

'''正则表达式中的量词默认都是'贪婪匹配'''

贪婪匹配与非贪婪匹配

# 带匹配的字符串
<script>123</script>
# 正则表达式
<.*>    '''默认贪婪匹配 尽可能多的匹配'''
# 将贪婪变成非贪婪 只需要在 量词 的后面加问号即可
<.*?>   '''非贪婪匹配 尽可能少的匹 结束条件有左右两边决定'''

溜了溜了

posted @ 2021-11-24 18:54  谢俊杰  阅读(58)  评论(0编辑  收藏  举报