import的绝对导入与相对导入 软件开发目录规范 正则表达式

什么是绝对导入与相对导入

 

绝对导入

  必须以执行文件为准,从sys.path中查找

相对导入

  主要是用据点符.(就是英文状态下的一个.)

eg:

  form . import m2(从下一集文件中导入)

  form.BBB import m2(从下一级的 再下一级 的文件中导入)

  注意:最多只能出现2个据点符 。。

特别注意:在执行文件中,不能出现相对导入

 

软件开发目录规范

指的是约定促成的文件夹(文件)放置规范

bin(文件夹)

  一般情况,启动文件放在里面,当执行文件只有 一个 或者 比较少 的时候,可以放回到根目录中

  比如说 start.py  run.py

core(文件夹)

  主要写业务逻辑

  比如src.py

api/interface(文件夹)

  可用来存放各种接口

db(文件夹,英文 database)

  用来存放数据的 eg:db_handler.py

lib(文件夹:英文library )

  存放 库文件,一般写 公共的库文件

  eg:common.py

conf(文件夹,英文config)

  配置文件# 一般在配置文件中,英文全大写

log(文件夹:用来存放 日志 文件)

  日志文件可以方便排查错误

requestment.txt  用于保存到 第三方模块 的模块名

readme (文件)  是对项目的解释,类似于说明书

 

linux命令扩展

在mac 和 linux系统中,用 ls 命令 查看文件夹下面所有的 文件 和 文件夹

在windows系统中, 用 dir 命令 查看文件夹下面所有的文件 和 文件夹

 

 

正则表达式

什么是正则表达式: 是一门独立的语言,和高级编程语言没关系

重要提醒:作为后端程序员,凡是牵扯到独立数据的地方,都要做参数校验

在python中使用正则表达式,需要导入(import) re 模块

#eg:
      #手机号的特征:
       #1. 必须是数字
       # 2. 手机号是11位
       # 3. 满足常见的手机号:13,15,18,19
        
正则表达式的样子:^(13|14|15|18)[0-9]{9}$

字符组

[0123456789] :匹配0-9之间的数字

[0-9]: 同上

[a-z]:匹配a-z 之间的26个 小写英文字母

[A-Z] 匹配A-Z之间的26个 大写 英文字母

[0-9a-zA-Z] 匹配 0到9,a到z,A到Z之间的数字和字母

 

字符(以下都要记住)

. 匹配除了换行符意外的的任意字符  重要性***

\w 匹配  字母 数字 下划线

\d 匹配数字

\n 匹配一个换行符

^  匹配 以某个字符串的开始

$ 匹配   某字符串的结尾

a|b 匹配字符 a或者b

() 匹配括号内的表达式,也表示一个组

[^.....]  匹配 除了字符组中的 字符之外的 所有字符

 

量词(都要记住)

*  重复0次或者更多次

+ 重复1次 或者更多次

? 重复零次或1次

{n} 重复n次

{n,} 重复n次 或者 更多次

{n,m}重复n次 到 m次

 

贪婪匹配 和 非贪婪匹配

正则表达式默认是贪婪匹配的,

 

posted @ 2022-01-18 20:26  Damon1899  阅读(122)  评论(0)    收藏  举报