首页 > 编程语言 >Python的模块调用给包的使用

Python的模块调用给包的使用

时间:2023-09-16 19:33:50浏览次数:29  
标签:调用 Python py sys 导入 模块 import 查找

Python的模块调用给包的使用

  • 名字查找顺序
  • 模块的相对导入和绝对导入
  • 包的使用
  • 软件开放目录命名规范
  • 正则表达式(简单了解)

名字查找顺序

以后再给文件名或者叫模块名起名字的时候一定不能跟内置模块名冲突
1. 先从内存中查找
2. 再从内置模块中查找
3. 最后去环境变量sys.path中查找

"""如果找不到,那就去sys.path中查找"""
import sys
print(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文件中出现了相对导入语句(.开头的语句),那么,这个文件就不能当成执行文件了,只能被导入

包的使用

包是一个分层次的文件目录结构,它定义了一个由模块及子包,和子包下的子包等组成的 Python 的应用环境。

简单来说,包就是文件夹,但该文件夹下必须存在 __init__.py 文件, 该文件的内容可以为空。__init__.py 用于标识当前文件夹是一个包。

__init__.py|(下面写)
from .ddd.m3 import f3

软件开放目录命名规范

软件开发目录规范就是跟项目中得文件夹起合适的名字的!

项目名:
    bin 
    	# 放启动文件的 run.py start.py manage.py...
    如果你的启动文件只有一个,也可以不要bin文件夹,可以把启动文件写在项目的跟下
    
    conf (config:配置) 
    	# 放项目的配置文件
        settings.py
        '''就是一些初始化的数据'''
    core # 核心的
    	# 写一些项目的核心逻辑
        src.py 
        	def login():
                pass
            def register():
                pass
    lib # library 库
    	# 这个里面一般写项目使用的公共代码
         common.py
            def outer():
                pass
            
   log
	  # 日志:就是记录一些在代码运行过程中发生的一些事情,可以是正确的,可以是异常的
    	log.log
        
   db
	 # database
      跟项目相关的数据存储都存在db、data
        
    api/
    	# 接口层
   # 当你自定义文件夹名字的时候,一定要是见名知意, 一定不能出现中文的
setup.py  # 安装模块使用的 python setup.py ...
|-- requirements.txt # 目前用不到---> 

		taobao
    		time
        	 os
             requests
             xml
             ...
        # 命令:  
        	reqeusts == 1.11.1
            xml = 1.1.1
     # 命令:       
|-- README
	# 就是项目的说明书	

正则表达式(简单了解)

import re
phone_number = input('please input your phone number : ')
if re.match('^(13|14|15|18)[0-9]{9}$',phone_number):
        print('是合法的手机号码')
else:
        print('不是合法的手机号码')
        
        
正则表达式:
	利用一些特殊的符号匹配出我们想要的数据

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

"""我们只学习正则的基础,就学习一些简单的正则够我们开发使用就行了"""

标签:调用,Python,py,sys,导入,模块,import,查找
From: https://www.cnblogs.com/zhangfanshixiaobai/p/17707170.html

相关文章

  • Python分享之对象的属性
    Python一切皆对象(object),每个对象都可能有多个属性(attribute)。Python的属性有一套统一的管理方案。属性的__dict__系统对象的属性可能来自于其类定义,叫做类属性(classattribute)。类属性可能来自类定义自身,也可能根据类定义继承来的。一个对象的属性还可能是该对象实例定义的,......
  • 米联客MLK-CZ06-7020 AMD ZYNQ核心模块硬件手册
    1产品概述自2017年米联客MLK-CZ06-7020-484(MZ7XCORE484)系列开发平台发布以来,米联客ZYNQ系列开发平台和核心模块经过多次迭代升级,在工业自动化、水利电力控制设备、医疗图像设备等领域广泛应用,产品性能接受了广大客户的检验,稳定可靠。2021年因芯片普遍紧缺涨价,核心模块再次......
  • 米联客MLK-CU02-ku3p-ku5p AMD UltraScale+核心模块硬件手册
    1产品概述KintexUltraScale+MKU3P/KU5P是米联客电子KintexUltraScale+系列开发平台的全新高端产品。其核心模块集成电源管理:0.85V核心电源,最大输出24A。用户基于核心模块设计功能底板(提供功能底板设计方案)。降低项目功能底板设计难度和生产成本,加速项目开发。其应用领域包含高......
  • 前端学习笔记202308学习笔记第八十伍天scss的模块化管理样式
        ......
  • 米联客MLK-CU01-040-060 AMD UltraScale核心模块硬件手册
    1整体概述MLK-CU01-040-060核心模块是米联客电子KintexUltraScale系列开发平台的全新高端产品。其核心模块集成电源管理:0.95V核心电源,最大输出24A。用户基于核心模块设计功能底板(提供功能底板设计方案)。降低项目功能底板设计难度和生产成本,加速项目开发。其应用领域包含高速通......
  • 前端学习笔记202309学习笔记第八十玖天-完善各个模块的reducer
     ......
  • 智慧工地管理系统的功能模块有哪些?
    智慧工地管理系统将人工智能技术、传感器技术、虚拟现实技术等更多高新技术嵌入到建筑、机器、人员佩戴的设备、工地出入口大门等各种物体中,广泛互联形成“物联网技术”,再与“互联网技术”融合,完成项目管理利益相关者与项目施工现场的融合。智慧施工现场的关键是以“更智能”的形式......
  • python 正则表达式之 怎么匹配一对中括号 [ ]
    ----------------------------------------------------------------------------------------在正则表达式中,前中括号[属于特殊字符,要匹配它,需要转义,那就加上转义字符\来进行转义,即加上\res=re.findall(r"\[[\dA-Z]*]",'AAAA[CEBT905A1B6A]/#')print(res)------[......
  • 用Python编写的FTP CLIENT端脚本
    1importftplib,os2temp=os.environ["temp"]3#参考连接:https://blog.csdn.net/wyt2wyt/article/details/1289510394ftp=ftplib.FTP()5ftp.connect("127.0.0.1",2121)6ftp.login("user","123456789")78defuplo......
  • 个人项目:Python实现简易论文查重
    这个作业属于哪个课程软件工程这个作业要求在哪里个人项目这个作业的目标个人项目,实现论文查重功能本项目上传至个人GitHub:yulinnn/3121004802项目需求题目:论文查重描述如下:设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论......