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次
贪婪匹配 和 非贪婪匹配
正则表达式默认是贪婪匹配的,

浙公网安备 33010602011771号