1. 程式人生 > >python開發規範和包

python開發規範和包

time abs 文件夾 port __main__ .get read os.path config

  開發規範是開發要遵守的協議標準,它能快速查找,查看方便,便於修改;軟件開發的首要規範就是從設計目錄結構開始。

首先在目錄文件中,要有如下幾個目錄文件:

  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會隨著文件的不同而改變

python開發規範和包