python--程序分目錄、加環境變量
阿新 • • 發佈:2018-11-04
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 importserver 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--程序分目錄、加環境變量