python 包的概念简单笔记

本文介绍了Python中的包和模块管理方式,包括不同导入方法的使用、__init__.py的作用及配置、sys.path的管理和子进程操作等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了便于复用有了模块。其实就是一个python文件
那么当项目大了,模块也就多了,为了方便管理,所以有了命名空间的概念,命名空间的参数形式就是包:

那么接下来就说一下包的一些事项:

└── FC
    ├── __init__.py
    ├── __init__.pyc
    ├── Libr
    │   ├── __init__.py
    │   ├── __init__.pyc
    │   ├── one.py
    │   ├── one.pyc
    │   ├── two.py
    │   └── two.pyc
    └── Model
        ├── __init__.py
        ├── one.py
        └── two.py

上面是我建立的包结构:

FC-->Libr->one.py
#!/usr/bin/env python
a = 'Libr.one.a'
b= ' Libr.one.b'

如果要利用到FC-->Libr->one-->中的a变量:

1.import  FC.Libr.one
   print    FC.Libr.one.a
2.from FC.Libr import one
   one.a
3. from FC.Libr.one import *
   a
这种情况不推荐用,这样就把命名空间的好处给弄没了,如果一定要这么弄的话,那么就在one.py中加如  __all__=['a']  来限制一下,即只引入a
4. 
在 FC.Libr的__init__.py中添加 __all__=['one','two']
from FC.Libr import *
one.a


__init__.py中可以添加要进入的模块代码进行初始化!
使用sys.modules可查看当前加载的所有模块

sys.path 为包和模块的路径搜索:本地文件夹,系统默认的搜索路径 sys.path.append/remove() 可以进行动态删除

python subprocess来进行系统操作:

    subprocess.Popen('ls -l',shell=True)
   subprocess.call()  subprocess.checkcall()  都是调用Popen来实现的,增加了wait()  等。。。。    产生一个进程进行处理fork


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值