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

Posted 冒泡泡de可乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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从入门到精通(加项目实战)学习视频

安装第三方模块常见问题

用wing IDE 总是提示找不到python,但是已经安装了。怎么回事

在linux下加环境变量或者是把某个目录加到环境变量

python需要设置哪些环境变量?我只知道一个PYTHONHOME指向安装目录。

Python学习总结