Python之拆分目录

Posted 学而时习之,不亦说乎

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\':\'123456\',
    \'db\':\'jxz\',
    \'charset\':\'tuf8\',
    \'autocommit\':True
}

引入该模块后,如何达到以下效果:

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

只需将内容变为模块名,并在模块名前加两个星号即可:

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 之 Socket编程(TCP/UDP)

python之模块和包

100天精通Python(数据分析篇)——第72天:Pandas文本数据处理方法之判断类型去除空白字符拆分和连接

常用python日期日志获取内容循环的代码片段

python常用代码片段总结

2022年最新Python大数据之Python基础