Python之模块2

名字的查找顺序

在 Python 中,模块名字的查找顺序是:

  1. 当前目录
  2. 环境变量 pythonpath 所包含的目录
  3. Python 默认安装路径下的目录

如果同一个模块名字在多个目录下都存在,Python 会按照上述顺序优先使用在前面的那个目录下的模块。同时,Python 可以使用 sys.path 查看模块搜索路径。

找不到文件路径怎么办?

1. 把模块所在的路径添加到sys.path中

import sys
sys.path.append(r'D:\Python27\day20\aaa\bbb')

 2. 使用from...import句式

from aaa.bbb.ccc import m1
from aaa.bbb.ccc.m1 import f1

        f1()
        m1.f1()

 

相对导入和绝对导入

"""在导入模块的时候,模块的查找始终以执行文件所在的路径为准"""

绝对导入:
	它始终是以执行文件所在的sys.path路径为基准查找

相对导入:
	"""
		.(句点符)
		. 代表的是当前路径
		.. 代表的是上一级路径	
	"""
# 相对导入可以打破始终以执行文件及准的查找顺序
from .ccc import m2
from .ccc.ddd import m2

只要py文件中出现了相对导入语句(.开头的语句),那么,这个文件就不能当成执行文件了,只能被导入

 

包的使用

什么是包?
	就是文件夹,其实就是文件夹中包含了一些列的py文件(模块)
    # 包就是一些列模块的组合
包和模块有什么区别呢?
	包中有一个特殊文件:__init__.py文件

    
"""导包其实就是在导包下的__init__.py文件的!"""

软件开发目录规范

为了提高程序的可读性与可维护性,我们应该为软件设计良好的目录结构,这与规范的编码风格同等重要。软件的目录规范并无硬性标准,只要清晰可读即可,假设你的软件名为foo,笔者推荐目录结构如下:

Foo/
|-- core/
|   |-- core.py
|
|-- api/
|   |-- api.py
|
|-- db/
|   |-- db_handle.py
|
|-- lib/
|   |-- common.py
|
|-- conf/
|   |-- settings.py
|
|-- run.py
|-- setup.py
|-- requirements.txt
|-- README

简要解释一下:

• core/: 存放业务逻辑相关代码

• api/: 存放接口文件,接口主要用于为业务逻辑提供数据操作。

• db/: 存放操作数据库相关文件,主要用于与数据库交互

• lib/: 存放程序中常用的自定义模块

• conf/: 存放配置文件

• run.py: 程序的启动文件,一般放在项目的根目录下,因为在运行时会默认将运行文件所在的文件夹作为sys.path的第一个路径,这样就省去了处理环境变量的步骤

• setup.py: 安装、部署、打包的脚本。

• requirements.txt: 存放软件依赖的外部Python包列表。

• README: 项目说明文件。

除此之外,有一些方案给出了更加多的内容,比如LICENSE.txt,ChangeLog.txt文件等,主要是在项目需要开源时才会用到,请读者自行查阅。

正则表达式

        正则表达式它是一门独立的语言,跟Python、Java等语言没有关系的
所以,如果想在Python中使用正则表达式,需要借助于re模块,内置的
import re模块

end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值