• python学习笔记(十六)-- 程序分目录管理、目录加入环境变量


    程序分目录管理

    szz_aip:工程目录
    bin:可执行文件
    start.py
    config:配置文件
    setting.py
    lib:工具类、初始化服务类、接口类
    interface.py 接口
    tools.py 工具
    logs:日志
    readme.txt:说明
    setting.py
    #mysql数据库信息
    mysql_info = {
        'host': '127.0.0.1',
        'port': 3306,
        'password': '123456',
        'user': 'xxx',
        'db': 'xxx',
        'charset': 'utf8',
        'autocommit': True
    }
    
    #redis数据库信息
    redis_info = {
        'host': '127.0.0.1', #ip
        'port': 6379, #端口号
        'password': 'xxxx&*', #密码,
        'db':0
    }
    
    #falsk服务
    server_info = {
        'host':'0.0.0.0',
        'port':8888,
        'debug':True
    }
    
    #
    SALT = '#$%^%^^326237'
    tools.py
    import hashlib,pymysql,flask
    from config import setting
    
    def md5(s):
        s = (str(s)+setting.SALT).encode()
        m = hashlib.md5(s)
        return m.hexdigest()
    
    #数据库操作
    def op_mysql(sql:str):
        result = '执行完成'
        conn = pymysql.connect(**setting.mysql_info)
        cur = conn.cursor(pymysql.cursors.DictCursor) #建立游标
        cur.execute(sql)
        if sql.strip().lower().startswith('select'):
            # result  = cur.fetchone()
            result  = cur.fetchall()
        cur.close()
        conn.close()
        return result
    interface.py
    import json,flask
    from . import tools             #当前目录用.
    
    server =flask.Flask(__name__)
    
    @server.route('/table_data')
    def get_table_data():
        table_name = flask.request.args.get('table_name')
        limit = flask.request.args.get('limit','10')
        tables = ['app_myuser','dsk_test','app_student','app_product']
        if table_name not in tables:
            return json.dumps({'msg':'没有权限!'},ensure_ascii=False)
        if not table_name:
            return json.dumps({'msg':'table_name是必填字段!'})
        if limit.isdigit():
            sql = 'select * from %s limit %s; '%(table_name,limit)
        else:
            return json.dumps({'msg':'limit请传入一个整数!'},ensure_ascii=False)
        result = tools.op_mysql(sql)
        return json.dumps(result,ensure_ascii=False)
    start.py
    
    
    import sys
    import os
    #动态获取工程目录
    # os.path.abspath((__file__) 获取当前文件的绝对路径
    BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath((__file__))))
    sys.path.insert(0,BASE_PATH)
    
    from config.setting import server_info
    from lib.interface import server
    
    server.run(**server_info)
    
    

    需要设置目录  Sources Root,把整个目录加到环境变量里面去,才能导入这些python文件

  • 相关阅读:
    注意 定义类的时候 不要null 别忘了new 实例化 否则报错
    如果通过key获取dictionary里面的value
    C#邮箱身份验证
    时间选择器 可以选择日期和时间
    C#的Timer解析
    使用微软的组件发邮件
    将html代码写入临时文件夹下面的 然后发来给webbrowser使用
    c#中DataGridView 如何设置 才能选中一行 设置鼠标事件
    lumisoft 获取邮件的方法
    C# 动态添加CheckedListBox的选项,并设置选项为 选中? 怎么做?
  • 原文地址:https://www.cnblogs.com/yanyan-/p/10890816.html
Copyright © 2020-2023  润新知