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--程序分目录加环境变量的主要内容,如果未能解决你的问题,请参考以下文章
用wing IDE 总是提示找不到python,但是已经安装了。怎么回事