Python的模块与模块函数

1 模块与包

模块也即module,Python自己有很多模块,这些模块其实就是方法集合,相当于内部函数的集合。在进行一些比如文件操作、数学计算等,都有相应的模块。Python通过引入模块,在具体编写语言的时候可以直接调用与模块有关的函数,一般模块的文件类型是py。

包(package)是一个总目录,包目录下为首的一个文件便是__init__.py,定义初始状态。

模块的引入方法是采用import函数,或者from import*引入包中的部分模块,导入之后即可使用模块中定义的变量、函数、类和对象等等。

模块除了自带的,还可以自己编辑,这就相当于编一个子函数的过程,定义完之后通过import直接导入程序。

Python在结合Abaqus软件或者其他软件进行程序开发的过程中,需要用到Abaqus所属的很多模块,比如:

from abaqus import *
from abaqusConstants import
*
from caeModules import
*

通过PyQt平台进行PythonGUI界面的设计时,也需要引入PyQt的相关模块,比如:

from PyQt5 import
QtWidgets
from PyQt5.QtGui import
*
from PyQt5.QtCore import
*
from Gui import
Ui_Form
import subprocess

总之,模块和包在用Python编写程序时,非常重要,脱离了模块和包,程序的很多功能都不可能实现。

2 创建模块

模块也是用Python写的,包括变量、函数、类及对象等,编写好某特定功能的模块后,以py文件形式存储,文件名就是模块的名称。

将模块放在合适的位置,Python解释器能够找到,那么就可以通过上面的方式导入。

这里有一点要注意,容易出问题:

Python脚本和模块的扩展名都是.py,那么程序如何是如何判断一个py文件是作为脚本还是模块呢?关键是一个名为__name__的变量,如果它的值是__main__,则不能作为模块,只能作为脚本直接运行;所以在很多脚本的最后都有一段类似下面的判断语句,限制只能以脚本方式运行,不作为模块使用;如果作模块使用,则不会运行该程序:

if __name__==’main’:
main()

3 创建包

几个功能相近的模块可以组成一个Python包,存放到一个目录结构中,通过输入包的路径来调用包中模块的相应对象,如变量、函数等。

创建一个包,就要创建一个与包同名的目录(文件夹),接着在该目录下创建__init__.py文件,该文件是包的初始化文件,可以为空,也可以定义相关代码;接着将相关的模块放在这个目录下,就创建了一个包,这个目录下的模块属于这个包。

python 类中使用模块 python 模块 类 函数_python每个模块用函数来实现

4 标准模块

(1)sys模块

sys模块能够通过其访问与Python解释器紧密相关的变量和函数,有以下一些重要的函数与变量:

变量sys.argv:包括传递到Python解释器的参数,也包括脚本名称,命令行参数;

函数sys,exit():退出当前程序,可以提供一个整数或者字符串,用来表示程序是否成功运行;

映射sys.modules:将模块名称映射到实际存在的模块名的目录,它只用于当前导入的模块;

变量sys.path:是一个字符串列表,其中每一个字符串都是一个目录,在import语句执行时,解释器会从这些目录中查找模块;

变量sys.platform:是解释器正在其上运行的平台,在windows平台上,标识是操作系统的名称win32;

对象sys.stdin:是文件流输入对象,Python利用它获得输入;

对象sys.stout:文件流输出对象,Python利用它输出;

对象sys.stderr:文件流输出对象,利用它输出标准错误;

变量sys.version:Python解释器的版本号以及相关信息;

(2)os模块

这个模块提供了访问多个操作系统服务的功能。

os.name字符串指示正在使用的平台,对于Windows,是“nt”

os.getenv()和os.putenv()分别获取和设置环境变量;

os.remove()函数用来删除一个文件;

os.system()函数用来运行shell命令;

os.getcwd()函数得到当前工作目录,即当前python脚本工作的目录路径;

os.lisrdir()返回指定目录下的所有文件和目录;

os.path,split()函数返回一个路径的目录名和文件名;

os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。

os.path.existe()函数用来检验给出的路径是否真地存在

(3)fileinput模块

对文本文件进行操作。

fileinput.FileInput:打开文件;

fileinput.input():遍历多个输入流的行;

fileinput.filename():返回当前文件名称;

fileinput.lineno():返回当前文件的行数;

fileinput.nextfile():关闭当前文件准备读下一个文件;

fileinput.isfirstline():测试当前行是否是文件的第一行;

fileinput.close():关闭文件

(4)Random模块

包括随机返回随机数的函数。

random():函数产生0-1之间的随机数;

iniform(a,b):产生a-b之间均匀分布的随机数;

randrange(start,stop,step)产生一定范围内的均匀分布随机数;

choice(seq):给定序列seq等概率选出一个随机数;

sample(seq,n):给出序列seq中等概率的n个随机数