码迷,mamicode.com
首页 > 编程语言 > 详细

python--程序分目录、加环境变量

时间:2018-11-04 19:46:14      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:端口号   style   调用   无法运行   模式   imp   abs   分享图片   fetchall   

程序分目录:

技术分享图片      技术分享图片

 

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--程序分目录、加环境变量

标签:端口号   style   调用   无法运行   模式   imp   abs   分享图片   fetchall   

原文地址:https://www.cnblogs.com/HathawayLee/p/9904454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!