python开发规范和包

  开发规范是开发要遵守的协议标准,它能快速查找,查看方便,便于修改;软件开发的首要规范就是从设计目录结构开始。

首先在目录文件中,要有如下几个目录文件:

  1.bin,存放启动文件

  开启项目的start文件。

import sys,os
from core import src
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASE_DIR)

if __name__ == '__main__':
    src.run()

  2.config,配置文件,存放settings文件

  存放项目中的一些路径和信息

import os
BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
DB_PATH=os.path.join(BASE_DIR,'db','db.json')

   3.core,主逻辑,存放src文件

  主逻辑部分

from conf import settings
from lib import common
import time

  4.db,数据文件,存放项目相关的数据文件

  5.lib,公共组件,存放common文件

  6.log,日志项,存放logger文件

  7.README,项目说明书

 包

一个文件夹下有__init__.py文件,就是包,py2中,没有__init__就报错,__init__强制报错,py3中,__init__没有也可以,可以快速分辨
使用包的前提:必须在包的外面使用包

import bao
from bao import *
导入包使用*,是在__init__中控制
导入模块使用*,是在本模块中控制

导包就是导包下面的__init__文件,
使用包的时候,后面不能再出现'.'
from和import中间可以出现'.'

__all__ = [''],在__init__里中控制包中要导入的模块,模块中要导入的功能
绝对路径: 从包的外部往内部找
相对路径: 在包的内部文件中找其他包的文件:
  1.在启动文件中先找到一个内部文件
  2.在这个内部文件中用from ..包名 import 内部文件名
. 当前路径
.. 父级路径
实例:
  bao的外部,一个启动文件:包
  定义一个大包:bao,在bao下设立foo,get,test包,foo下面加host文件,get下面加get_bao文件
  在host文件中调用get_bao

先执行包,找到host文件
from bao.foo import host
host找get_bao
from ..get import get_bao
在文件内部用绝对路径:
from bao.get import get_bao

将启动文件放到bao内:

import sys
启动文件在哪儿,就把当前文件的路径添加到环境变量中
当host文件为启动文件时,要把最上层包的路径添加进去
sys.path.insert(0,r'最上层包的路径')
from get import get_bao

如果用包,就写一个run文件:
把run文件和包的总目录放在同级,
尽量不要在包的内部调用,sys.path会随着文件的不同而改变

猜你喜欢

转载自www.cnblogs.com/py8318/p/10324507.html
今日推荐