1. 首页
  2. Python

Python学习笔记(八)——–Python模块及部分常见模块详解

一、相关
在Python中,一个文件(.py)就可以当做一个模块,类似Java中的类、包,每一个模块都可以看做是是一个独立的文件/文件夹。我们可以把某一种功能封装在一个模块里,在其他的模块里需要这种功能的时候,直接调用这个模块的函数,这样可以使我们的代码看起来更简洁,更有条理性。模块能定义函数,类和变量,模块里也能包含可执行的代码。除此之外,现在已提供了许多优秀的模块共程序员们使用,我们可以便捷地引入一个模块来使用其中的功能,让编程变得更加简单。

二、模块的来源
1.Python解释器自带的模块

2.自定义模块(注意:自定义模块不可以解释器模块同名)

3.第三方模块

三、模块的四种表现形式
1.Python文件

2.一系列Python文件的结合体(需要有一个__init__.py文件)

3.已被编译为共享库或DLL的C或C++扩展

4.自编辑解释器内部模块(作者不是很了解)

四、模块的引入方法
简单来说,Python中模块的引入有两种方法:import *** 和from *** import ***

细分一下则有如下解释:

1.import ***
直接引入对应的模块

2.import *** as mm
引入模块,并取别名

3.from *** import 功能名
引入某模块的某功能

4.from *** import 功能名 as 别名
直接拿别名来用

5,from 模块名 import  *
引入该模块的所有功能,但是无法像第四条一样使用别名

五、部分常见模块
1.sys模块
sys模块主要属性
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding(‘utf8′),此时将系统默认编码设置为utf8。(见设置系统默认编码 )。
sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回’mbcs’,mac下返回’utf-8′.
sys.modules.keys() 返回所有已经导入的模块列表
sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n) 退出程序,正常退出时exit(0)
sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.maxunicode 最大的Unicode值
sys.modules 返回系统导入的模块字段,key是模块名,value是模块
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdout 标准输出
sys.stdin 标准输入
sys.stderr 错误输出
sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix 返回平台独立的python文件安装的位置
sys.byteorder 本地字节规则的指示器,big-endian平台的值是’big’,little-endian平台的值是’little’
sys.copyright 记录python版权相关的东西
sys.api_version 解释器的C的API版本

实践:获取系统中Python的版本

import sys # 引入sys解释器模块

print(sys.version)

C:\Python\Python37-32\python.exe E:/Workspaces/PycharmProjects/untitled/openTest.py
3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)]

Process finished with exit code 0

实践:利用sys.path添加模块扫描路径

sys.path属性会返回一个列表,李淼包含了我们导入模块时要扫描的路径

import sys # 引入sys解释器模块

print(sys.path)

C:\Python\Python37-32\python.exe E:/Workspaces/PycharmProjects/untitled/openTest.py
[‘E:\\Workspaces\\PycharmProjects\\untitled’,
‘E:\\Workspaces\\PycharmProjects\\untitled’,
‘C:\\Python\\Python37-32\\python37.zip’,
‘C:\\Python\\Python37-32\\DLLs’,
‘C:\\Python\\Python37-32\\lib’,
‘C:\\Python\\Python37-32’,
‘C:\\Python\\Python37-32\\lib\\site-packages’]

Process finished with exit code 0

有些时候我们可能会自定义一个文件夹去储存我们的模块,而这个文件夹又可能不在path属性里,此时我们可以操作path属性,将我们自己的模块文件夹添加进去

import sys # 引入sys解释器模块

sys.path.append(“E:\\repository”);
sys.path.insert(0, “E:\\repository\\ant”) # 可以确保先搜索这个路径

print(sys.path)

C:\Python\Python37-32\python.exe E:/Workspaces/PycharmProjects/untitled/openTest.py
[‘E:\\repository\\ant’,
‘E:\\Workspaces\\PycharmProjects\\untitled’,
‘E:\\Workspaces\\PycharmProjects\\untitled’,
‘C:\\Python\\Python37-32\\python37.zip’,
‘C:\\Python\\Python37-32\\DLLs’,
‘C:\\Python\\Python37-32\\lib’,
‘C:\\Python\\Python37-32’,
‘C:\\Python\\Python37-32\\lib\\site-packages’,
‘E:\\repository’]

Process finished with exit code 0

不过我们一般是不建议使用这种方法添加扫描路径的,因为在退出交互式环境或者IDE后会自动恢复到原来的设置。

2.OS模块

os模块主要方法

需要注意的是,Windows系统与Linux系统不同,所有有些方法无法在Windows系统上进行调试

 

本文来自投稿,不代表程序员编程网立场,如若转载,请注明出处:http://www.cxybcw.com/187867.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code