zoukankan      html  css  js  c++  java
  • python--程序分目录、加环境变量

    程序分目录:

          

    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常见错误
    接口自动化常用断言方法python
    Mysql2docx自动生成数据库说明文档
    常用的实用小工具
    移动App专项测试
    AndroidStudio 快捷键(最实用的20个)(转)
    Linux常用命令大全(非常全!!!)(转)
    Fiddler使用教程(转)
    Subversion Edge
    杂点
  • 原文地址:https://www.cnblogs.com/HathawayLee/p/9904454.html
Copyright © 2011-2022 走看看