python——模块

常用内置模块

  1. getpass模块
  2. os模块(与操作系统交互)
  3. sys模块(与python解释器交互)
  4. subprocess模块(执行系统命令)
  5. hashlib模块(加密相关)
  6. json和pickle(序列化使用)
  7. shutil模块
  8. time模块
  9. datatime模块
  10. re模块
  11. random模块
  12. ConfigPrarser模块
  13. traceback模块
  14. itertools模块
  15. logging模块(用于便捷记录日志且线程安全的模块)

查看详细https://www.cnblogs.com/xh0203/p/12662693.html

模块查找顺序

  • 在当前目录,即当前执行的程序文件所在目录下查找。
  • 到PYTHONPATH(环境变量)下的每个目录中查找。
  • 到Python默认的安装目录下查找。

以上所有涉及到的目录,都保存在标准模块sys的sys.path变量中,通过此变量我们可以看到指定程序文件支持查找的所有目录。如果需要导入的模块没有储存在sys.path显示的目录中,那么导入该模块并运行程序时,Python解释器就会抛出ModuleNotFoundError(未找到模块)错误。

解决“Python找不到指定模块”的方法:

  1. 向sys.path中临时添加模块文件存储位置的完整路径。
  2. 将模块放在sys.path变量中已包含的模块加载路径中。
  3. 设置path系统环境变量。

__init__.py文件作用

使用Python模块常见的情况是,事先写好A.py文件,需要import B.py文件时,先拷贝到当前目录,然后再import这样的做法在程序量较小的情况下是可行的,如果程序交互复杂程度稍高,就很费力。

有一种解决方法可以将多个.py文件组织起来,方便在外部统一调用,和在内部统一调用:朋友她和你中的__init__.py在包调用中起到了重要的作用。

首先要明确,Python在执行import包的时候,执行的操作

  1. 创建一个新的、空的module对象(它可能包含多个module)
  2. 把这个module的代码插入sys.module中
  3. 装载module的代码(如果需要,首先必须编译)(首先需要找到module程序所在的位置,其原理为,如果需要导入的module的名字是m1,则解释器必须找得到m1.py,它首先在当前目录查找,然后是在环境变量PYTHONPATH中查找)
  4. 执行新的module中对应的代码

Python中的package定义很简单,其层次结构与.py所在目录的层次结构相同,比较关键的一点是package中必须包含一个__init__.py文件。

__name__作用

  • __name__是python的一个内置类属性,它储存模块的名称。
  • python的模块既可以被调用,也可以独立运行。而被调用时__name__存储的是py文件名(模块名称),独立运行时存储的是“__main__”。
  • 那么它的作用主要就是用来区分,当前模块是独立运行还是被调用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值