python中有多少模块(2023年最新分享)

如题所述

第1个回答  2024-09-05

导读:今天首席CTO笔记来给各位分享关于python中有多少模块的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

Python模块的几种类型简介

1、系统内置模块

os模块:os模块包含普遍的操作系统功能

sys模块:提供了一系列有关Python运行环境的变量和函数

random模块:random模块用于生成随机数

time模块:主要包含各种提供日期、时间功能的类和函数

datetime模块:对time模块的一个高级封装

shutil模块:是一种高层次的文件操作工具

logging模块:将日志打印到了标准输出中

re模块:可以直接调用来实现正则匹配

pymysql模块:连接数据库,并实现简单的增删改查

threading模块:提供了更强大的多线程管理方案

queue模块:实现了多生产者,多消费者的队列

json模块:用于字符串和数据类型间进行转换json

2、开源(三方)模块

Requests:最富盛名的http库。每个Python程序员都应该有它。

Scrapy:从事爬虫相关的工作,这个库也是必不可少的。

NumPy:为Python提供了很多高级的数学方法。

matplotlib:一个绘制数据图的库。对于数据分析师非常有用。

Pygame:开发2D游戏的时候可以用上。

Scapy:用Python写的数据包探测和分析库。

Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。

Py2exe:将python脚本转换为windows上可以独立运行的可执行程序。

BeautifulSoup:基于Python的HTML/XML解析器,简单易用。

PyGtk:基于Python的GUI程序开发GTK+库。

3、自定义模块

自定义模块是自己写的模块,对某段逻辑或某些函数进行封装后供其他函数调用。

注意:自定义模块的命名一定不能和系统内置的模块重名了,否则将不能再导入系统的内置模块了。

例如:自定义了一个sys.py模块后,再想使用系统的sys模块是不能使用的。

那些Python中的模块

Python的解释环境是很好用,但是如果我们需要编写一个大型的程序的时候,解释环境就完全不够用了。这个时候我们需要将python程序保存在一个文件里。通常这个文件是以.py结尾的。

对于大型的应用程序来说,一个文件可能是不够的,这个时候我们需要在文件中引用其他的文件,这样文件就叫做模块。

模块是一个包含Python定义和语句的文件。文件名就是模块名后跟文件后缀.py。在模块内部,模块名可以通过全局变量__name__获得。

还是之前的斐波拉赫数列的例子,我们在fibo.py文件中存放了函数的实现:

编写完毕之后,我们可以在Python的解释环境中导入它:

然后直接使用即可:

常用的函数,我们可以将其赋值给一个变量:

或者,我们在导入的时候,直接给这个模块起个名字:

或者导入模块中的函数:

每个模块都有它自己的私有符号表,该表用作模块中定义的所有函数的全局符号表。因此,模块的作者可以在模块内使用全局变量,而不必担心与用户的全局变量发生意外冲突。

前面我们提到了可以使用import来导入一个模块,并且__name__中保存的是模块的名字。

和java中的main方法一样,如果我们想要在模块中进行一些测试工作,有没有类似java中main方法的写法呢?

先看一个例子:

在模块中,我们需要进行一个判断__name__是不是被赋值为"__main__"。

我们这样来执行这个模块:

以脚本执行的情况下,模块的__name__属性会被赋值为__main__,这也是例子中为什么要这样写的原因。

看下执行效果:

如果是以模块导入的话,那么将不会被执行:

使用import导入模块的时候,解释器首先会去找该名字的内置模块,如果没找到的话,解释器会从sys.path变量给出的目录列表里寻找。

sys.path的初始目录包括:

要想查看模块中定义的内容,可以使用dir函数。

上面的例子列出了当前模块中定义的内容,包括变量,模块,函数等。

我们可以给dir加上参数,来获取特定模块的内容:

java中有package的概念,用来隔离程序代码。同样的在Python中也有包。

我们看一个Python中包的例子:

上面我们定义了4个包,分别是sound,sound.formats,sound.effects,sound.filters。

__init__.py可以是一个空文件,也可以执行包的初始化代码或设置__all__变量。

当导入的时候,python就会在sys.path路径中搜索该包。

包的导入有很多种方式,我们可以导入单个模块:

但是这样导入之后,使用的时候必须加载全名:

如果不想加载全名,可以这样导入:

那么就可以这样使用了:

还可以直接导入模块中的方法:

然后这样使用:

如果一个包里面的子包比较多,我们可能会希望使用*来一次性导入:

那么如何去控制到底会导入effects的哪一个子包呢?

我们可以在__init__.py中定义一个名叫__all__的列表,在这个列表中列出将要导出的子包名,如下所示:

这样fromsound.effectsimport*将导入sound包的三个命名子模块。

如果没有定义__all__,fromsound.effectsimport*语句不会从包sound.effects中导入所有子模块到当前命名空间;它只会导入包sound.effects。

Import可以指定相对路径,我们使用.来表示当前包,使用..来表示父包。

如下所示:

Python开发中常用的模块有哪些

一、导入模块

importmodule

frommodule.xximportxx

frommodule.xximportxxasrename

frommodule.xximport*

二、开源模块

yum、pip、apt-get

源码编译安装:Pythonsetup.pybuildPythonsetupinstall

三、常用模块

os模块#用作系统级别的工作

sys模块#提供解释器相关操作

hashlib模块#用于加密相关的操作

json和pickle模块#用于序列化数据

subprocess模块

shuit模块#文件的复制移动

logging模块#格式化记录日志

random模块用于取随机数

timedatetime模块时间模块

re模块正则匹配

python中都有哪些模块呢

os模块

os.getcwd()#获取当前工作目录,即当前python脚本工作的目录路径

os.chdir("dirname")#改变当前脚本工作目录;相当于shell下cd

os.curdir#返回当前目录:('.')

os.pardir#获取当前目录的父目录字符串名:('..')

os.makedirs('dirname1/dirname2')#可生成多层递归目录

os.removedirs('dirname1')#若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.mkdir('dirname')#生成单级目录;相当于shell中mkdirdirname

os.rmdir('dirname')##删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdirdirname

os.listdir('dirname')#列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

os.remove()#删除一个文件

os.rename("oldname","newname")#重命名文件/目录

os.stat('path/filename')#获取文件/目录信息

os.sep#输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

os.linesep#输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

os.pathsep#输出用于分割文件路径的字符串win下为;,Linux下为:

os.name#输出字符串指示当前使用平台。win-'nt';Linux-'posix'

os.system("bashcommand")#运行shell命令,直接显示

os.environ#获取系统环境变量

os.path.abspath(path)#返回path规范化的绝对路径

os.path.split(path)#将path分割成目录和文件名二元组返回

os.path.dirname(path)#返回path的目录。其实就是os.path.split(path)的第一个元素

os.path.basename(path)#

返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素

os.path.exists(path)#如果path存在,返回True;如果path不存在,返回False

os.path.isabs(path)#如果path是绝对路径,返回True

os.path.isfile(path)#如果path是一个存在的文件,返回True。否则返回False

os.path.isdir(path)#如果path是一个存在的目录,则返回True。否则返回False

os.path.join(path1[,path2[,...]])#将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

os.path.getatime(path)#返回path所指向的文件或者目录的最后访问时间

os.path.getmtime(path)#返回path所指向的文件或者目录的最后修改时间

os.path.getsize(path)#返回path的大小

sys模块

sys.argv#命令行参数List,第一个元素是程序本身路径

sys.exit(n)#退出程序,正常退出时exit(0)

sys.version#获取Python解释程序的版本信息

sys.maxint#最大的Int值

sys.path#返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform#返回操作系统平台名称

datetime模块

datetime.today()返回一个表示当前本期日期时间的datetime对象

datetime.now([tz])返回指定时区日期时间的datetime对象,如果不指定tz参数则结果同上

datetime.utcnow()返回当前utc日期时间的datetime对象

datetime.fromtimestamp(timestamp[,tz])根据指定的时间戳创建一个datetime对象

datetime.utcfromtimestamp(timestamp)根据指定的时间戳创建一个datetime对象

datetime.strptime(date_str,format)将时间字符串转换为datetime对象

结语:以上就是首席CTO笔记为大家整理的关于python中有多少模块的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于python中有多少模块的相关内容别忘了在本站进行查找喔。

logo设计

创造品牌价值

¥500元起

APP开发

量身定制,源码交付

¥2000元起

商标注册

一个好品牌从商标开始

¥1480元起

公司注册

注册公司全程代办

¥0元起

    官方电话官方服务
      官方网站八戒财税知识产权八戒服务商企业需求数字市场
相似回答
大家正在搜