python导模块和包

一、模块与包的概念

1、python中的模块
python模块,是一个python文件,以.py结尾,包含了python对象的定义和python语句。

  • 模块让你能够有逻辑的组织你的python代码段
  • 把相关的代码分配到一个模块里能让你的代码更好用。
  • 模块能定义函数,类和变量,模块里也能包含可执行的代码。

2、python中的包

包就是文件夹,但该文件夹下必须存在 init.py 文件,该文件的内容可以为空。

#直接导入模块
import time
#直接导入包
# import selenium.webdriver.common
#通过包的定位,导入common中的模块action_chains
# from selenium.webdriver.common import action_chains
#通过包的定位,找到模块action_chains,导入模块中的类
from selenium.webdriver.common.action_chains import ActionChains

二、导模块(相同模块)

  1. 同目录下可以直接导入,import 模块名或者包名
  2. from…import
from modname import name1[, name2[, ... nameN]]

三、不同目录下的到模块

import导入模块都做了啥:

  • 找到模块文件
  • 编译成字节码(需要时).pyc
  • 执行导入模块的代码

注意:在之后导入相同的模块时候,会跳过这三个步骤,而只提取内存中已加载模块对象

如何找到模块(下面的几项内容组成了sys.path的列表):

  • 程序的主目录(导模块所在文件夹目录)
  • PTYHONPATH目录(python的安装目录)
  • 标准连接库目录(Lib)
  • 任何的.pth文件的内容
import sys
path = sys.path
print(path)

1、导入到模块的上一级目录

import sys
import os
path = sys.path
print(path)

pathCurrent = os.path.dirname(os.path.dirname(__file__))#代码实现获取当前文件所在目录的上一级目录
path.append(pathCurrent)
print(os.path)
import test2

在这里插入图片描述
2、与当前目录同级别目录

import sys
import os
path = sys.path
pathCurrent = os.path.dirname(os.path.dirname(__file__))+r"/xiaodi2"#(+后面跟要导入包的文件名字做拼接)
path.append(pathCurrent)
print(pathCurrent)
import test2

在这里插入图片描述
4、__name__的用法:
作用:“Make a script both importable and executable”

  • 如果我们是直接执行某个.py文件的时候,该文件中: ”name == ‘main’“ 是True,
  • 但是我们如果从另外一个.py文件通过import导入该文件的时候,这时__name__的值就是我们这个py文件的名字而不是__main__。
  • 调试代码的时候,在”if name == ‘main’“中加入一些我们的调试代码,我们可以让外部模块调用的时候不执行我们的调试代码,但是如果我们想排查问题的时候,直接执行该模块文件,调试代码能够正常运行!
def aaa():
    print("我是一个方法")
    
class Animal():
    def bbb(self):
print("我是一条可执行语句")

if __name__=="__main__":
    print(__name__)
    print("当前文件中运行代码")
else:
    print(__name__)
    print("其他模块调用当前模块")
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王大兴的王兴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值