1. 程式人生 > >python--程序分目錄、加環境變量

python--程序分目錄、加環境變量

tools inf os.path lse 工具 setting src 提供服務 sele

程序分目錄:

技術分享圖片 技術分享圖片

bin — 啟動文件

start.py

conf — 配置文件

setting.py

lib — 工具類、初始化服務類、各業務模塊.....

tools.py、service.py、 user.py、pay.py ......

logs — 日誌文件

setting.py

#mysql配置信息 放在一個字典中
mysql_info={
    host:118.24.3.00,
    port:3306,
    user:xxxx,
    password:xxxxxx
, db:xxxx, charset:utf8, autocommit:True } server_info={ host:0.0.0.0, port:5000, #端口號 debug:True #是否為調試模式 }

在tools.py文件中導入setting.py中的配置信息

import pymysql
from my_api.conf.setting import mysql_info  #mysql_info 是一個字典

def my_db(sql):
    conn =pymysql.connect(**mysql_info)   #
**mysql_info調用setting.py中的字典 cur=conn.cursor(cursor=pymysql.cursors.DictCursor) #返回數據為字典格式 cur.execute(sql) res =cur.fetchall() cur.close() conn.close() return res

service.py 提供服務

import flask

server = flask.Flask(__name__) #初始化服務

user.py 寫對應的業務邏輯模塊

from lib.service import
server from lib.tools import my_db import flask,json @server.route(/get_table_data,methods=[post]) def get_table_data(): #獲取某個表中的所有數據 table_name =flask.request.values.get(table_name) sql=select * from %s;%table_name res =my_db(sql) return json.dumps(res,ensure_ascii=False)

start.py 程序啟動文件

#將當前工程目錄(my_api)加入到python環境變量,否則在別人電腦上無法運行
import os,sys
res=os.path.abspath(__file__)  #取當前文件的絕對路徑
base_path=os.path.dirname(os.path.dirname(res)) #當前文件的上層目錄(bin)的上層目錄(my_api),即當前工程目錄
sys.path.insert(0,base_path)  #將當前工程目錄(my_api)加入到python環境變量

# 以下這些導入必須寫在添加環境變量的方法下面,否則會報找不到模塊的錯誤
from lib.service import server
from conf.setting import server_info
from lib import user,user,pay,order  #導入各個業務模塊,如果不導入訪問接口會報找不到接口的錯誤 (導入模塊的實質就是將python文件執行一遍)

#啟動服務
server.run(**server_info)

python--程序分目錄、加環境變量