Python之拆分目录
- 成分目录的好习惯,使得代码保持整洁,为以后的代码管理提供方便。
一、概念
一般目录有以下几个:
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会显示它的绝对路径:

找到左侧路径的位置,将它所在的文件夹取消Source Root即可:

再将想要引入的模块所在的文件夹Source Root,然后重新输入import,找到自己想要导入的模块名,选择即可。

三、引入的模块内容是字典
模块内容是字典,如下所示:
#mysql的配置信息
mysql_info={
'host':'xxx.xxx.xxx.xxx',
'port':3306,
'user':'jxz',
'password':'',
'db':'jxz',
'charset':'tuf8',
'autocommit':True
}
引入该模块后,如何达到以下效果:
def my_db(sql):
conn=pymysql.connect(
host='xxx.xxx.xxx.xxx',
user='jxz',
password='',
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
只需将内容变为模块名,并在模块名前加两个星号即可:
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程序:


Python之拆分目录的更多相关文章
- python遍历一个目录,输出所有文件名
python遍历一个目录,输出所有文件名 python os模块 os import os def GetFileList(dir, fileList): newDir = dir if os. ...
- python之三级目录
#python之三级目录低配版 menu = { '北京':{ '朝阳':{ '国贸':{ 'CICC':{ }, 'HP':{ }, '渣打银行':{ }, 'CCTV':{ }, }, '望京': ...
- python之工作目录和文件引用
1.参考 如何获得Python脚本所在目录的位置 Python 相对导入与绝对导入 还没细看 2.不考虑exe打包 sys.path[0] #顶层运行脚本的绝对目录 os.path.split(os. ...
- Python数据分析学习目录
python数据分析学习目录 Anaconda的安装和更新 矩阵NumPy pandas数据表 matplotlib-2D绘图库学习目录
- 【转】python文件和目录操作方法大全(含实例)
python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块.方法,并列举了一个综合实例,需要的朋友可以参考下一.python ...
- python学习笔记目录
人生苦短,我学python学习笔记目录: week1 python入门week2 python基础week3 python进阶week4 python模块week5 python高阶week6 数据结 ...
- python获取指定目录下所有文件名os.walk和os.listdir
python获取指定目录下所有文件名os.walk和os.listdir 觉得有用的话,欢迎一起讨论相互学习~Follow Me os.walk 返回指定路径下所有文件和子文件夹中所有文件列表 其中文 ...
- Python OS 文件/目录方法
Python OS 文件/目录方法 os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os. ...
- python常用模块目录
博客目录总纲首页 python其他知识目录 random hashlib os sys json __name__ shutil xlrd xlwt xlutils 核心模块:os s ...
随机推荐
- rabbitMQ模式
1.hello 消息生产者p将消息放入队列 消费者监听队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列删除(隐患,消息可能没有被消费者正确处理,已经消失了,无法恢复) 应用场景:聊天室 案 ...
- layui form.on('select(xxx)',function(){});绑定失败
使用layui的form.on绑定select选中事件中, form.on()不执行, 主要原因有 1, select标签中没有写lay_filter属性,用来监听 <select id=&qu ...
- IDEA用maven创建springMVC项目和配置(XML配置和Java配置)
1.DEA创建项目 新建一个maven project,并且选择webapp原型. 然后点击next 这里的GroupId和ArtifactID随意填写,但是ArtifactID最好和你的项目一名一样 ...
- 《Java大学教程》—读后总结
1.坚持就是胜利. 中间启动了许多次,但又因为各种原因被停.就连闭关学习期间,也多次想放弃,总觉得太简单,最后还是选择了这本书而放弃了其他书,原因是马上要还书了,"书是非借不能读!" ...
- 17.基于scrapy-redis两种形式的分布式爬虫
redis分布式部署 1.scrapy框架是否可以自己实现分布式? - 不可以.原因有二. 其一:因为多台机器上部署的scrapy会各自拥有各自的调度器,这样就使得多台机器无法分配start_urls ...
- 【Teradata】移动空间语句
1.移动10G空间从sysdba到dbc create database td_tmp_db from sysdba as perm=10E9; give td_tmp_db to "dbc ...
- Linux的目录结构--一切从根开始
Linux目录结构的特点 # 举例-linux下面使用光盘 ###.把光盘放入到光驱中 ###.linux中使用光盘 /dev/cdrom [root@oldboyedu- ~]# ll /dev/c ...
- 15.selenium_case02
# 抓取今日头条的新闻链接 from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWa ...
- 禅道Bug等级划分标准
一.严重程序 P1:致命(该问题在测试中较少出现,一旦出现应立即中止当前版本测试) 阻碍开发或测试工作的问题:造成系统崩溃.死机.死循环,导致数据库数据丢失, 与数据库连接错误,主要功能丧失,基本模块 ...
- vue的过滤器语发及应用案例
1.使用地方: 双花括号插值处或 组件属性处 例: {{ message | capitalize }} <div v-bind:id="rawId | formatId&quo ...