Python中的模块与包

Python中的模块与包

一、导入模块

1.1、导入标准模块
# string 是一个标准模块
import string
print(string.ascii_uppercase)
print(string.ascii_lowercase)

from string import ascii_uppercase
print(ascii_uppercase)

1.2、模糊导入

进行模糊导入的时候,默认是识别不了下划线开头的变量的

from string import *
print(ascii_lowercase)
1.3、导入自定义模块

模块运行有两种方式 – 1、直接解释器运行 2、导入运行
导入两次,只执行一次,第一次导入的时候,就会将这个模块加载到内存空间,下次导入的时候会先查看内存空间有没有

如果导入的模块名相同,使用后导入的

from pack01.one import packtest
from pack02.one import packtest
packtest()

为了区分导入相同的模块名,所以使用别名

from pack02.one import packtest as pk02
pk02()

1.4、接收字符串—动态导入
import importlib
st = importlib.import_module('string')
print(st.ascii_lowercase

案例

import importlib
while True:
    try:
        str1 = input("请输入你想要输入的模块(按q退出):")
        if str1.upper() == 'Q':
            break
        st = importlib.import_module(f'{str1}')
        print(f'导入{str1}成功')
    except:
        print('没有这个模块')

二、相对导入和绝对导入

2.1、相对导入

以 . 开头的导入路径称为相对导入
一个表示当前,两个表示上级,三个表示上上级
top—level 程序入口,直接运行的文件,那一层目录就是top—level
相对导入不能访问到top-level那一层,只能访问top-level以下的层

2.2、绝对导入

就是从top-level那一层,一层一层往下数

三、模块的查找

import sys
sys.path.append("C:\\Users\\23314\\PycharmProjects\\day02\\3-20模块与包")
import main

四、python的执行

4. 1,语法词法分析
4.2,编译生成字节码 --》.pyc
4.3,执行字节码

当模块导入运行的时候,会在统计目录下生成__pycache__目录,将生成的字节码保存在此目录下
下一次使用的时候直接运行字节码文件;直接运行模块时,不会保存字节码文件

五、打包与安装

5.1、准备一个空文件夹pack
5.2、在pack下面创建一个包 modpack 需要一个__init__.py
5.3、在modpack同级目录下,创建 setup.py
[root @ xiaoliu pack]  # cat setup.py
from setuptools import setup, find_packages
setup(
    # 包名
    name="modtest",
    # 官网
    url="http://lhj.com",
    # 版本
    version="0.0.1",
    # 指定要打包的模块和包
    packages=find_packages(),
    # 作者
    author="liuhonjie",
    # 邮箱
    author_email="2331422322@qq.com",
    # 依赖
    install_requires=['xlrd>=1.1.0'],
    # 描述信息
    description="this is test pack"

)
5.4、运行python3 setup.py check 进行语法检查
5.5、运行python3 setup.py sdist 生成tar.gz压缩包,

会在同目录下生成一个dist目录,打包好的安装包文件就在dist目录下

    [root@xiaoliu pack]# ls
    dist  modpack  modtest.egg-info  setup.py
    [root@xiaoliu pack]# ls dist/
    modtest-0.0.1.tar.gz
5.6、安装

进入dist目录,直接运行 pip3 install modtest-0.0.1.tar.gz

5.7、测试
    [root@xiaoliu ~]# python3
    Python 3.6.8 (default, Mar 19 2021, 05:13:41)
    [GCC 8.4.1 20200928 (Red Hat 8.4.1-1)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from modpack import mod
    i am mod.py
    >>> mod.func()
    this is mod.py function
    >>>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值