一、概念
一般目录有以下几个:
- bin:程序入口,存放start文件。
- conf:存放固定的配置信息,比如:连接redis的配置信息、连接mysql的配置信息等。
- lib:存放main文件、tools文件等。
- logs:存放日志
文件:
- start文件:程序运行开始。
- main文件:存放主逻辑。
- tools文件:存放常用工具,比如:db连接、检查小数、等等。
二、引入自己文件夹下的模块
使用from 文件夹名.文件名 import 模块名
from conf.setting import mysql_info
如果输入import后,没有提示框显示文件中的模块名,则随便选中一个模块名,然后按住Ctrl键,鼠标左键点击该模块名,就会跳转到点击的模块名所在的python文件中,鼠标放在python文件浏览页签上,pycharm会显示它的绝对路径:
[外链图片转存失败(img-XcTA2hww-1564818760440)()]
找到左侧路径的位置,将它所在的文件夹取消Source Root即可:
[外链图片转存失败(img-0K0iOwMM-1564818760445)()]
再将想要引入的模块所在的文件夹Source Root,然后重新输入import,找到自己想要导入的模块名,选择即可。
[外链图片转存失败(img-j3P3yMTG-1564818760447)()]
三、引入的模块内容是字典
模块内容是字典,如下所示:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#mysql的配置信息
mysql_info={
'host':'xxx.xxx.xxx.xxx',
'port':3306,
'user':'jxz',
'password':'123456',
'db':'jxz',
'charset':'tuf8',
'autocommit':True
}
引入该模块后,如何达到以下效果:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def my_db(sql):
conn=pymysql.connect(
host='xxx.xxx.xxx.xxx',
user='jxz',
password='123456',
db='jxz',
charset='utf8',
autocommit=True
)
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql)
res=cur.fetchall()
cur.close()
conn.close()
return res
只需将内容变为模块名,并在模块名前加两个星号即可:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import pymysql
from conf.setting import mysql_info
def my_db(sql):
conn=pymysql.connect(**mysql_info)
cur=conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql)
res=cur.fetchall()
cur.close()
conn.close()
return res
加上两个星号之后,python会自动将字典里面的内容以k-v的方式转成k=v放到里面。
四、python文件拆分
当接口服务由多个人去完成时,就不能都在一个python文件里写了,这时就需要拆分python文件内容。由于函数都是绑定在server上的,因此可以将server服务单独放在一个python文件里,其余人在写不同的服务上,只需引入server即可:
bin目录下存放程序入口——start程序: