常用python模块
⑴ python必学的模块有哪些
简单来说,模块就是一堆代码实现某个功能,它们是已经写好的.py文件,在我们的.py文件中只需要用import导入模块就能使用它的功能了。
Python中的模块有内置标准模块、开源模块和自定义模块。
内置标准模块就是Python自带的模块,即下载好Python就可以直接导入使用的模块,例如我们之前使用过的math模块、time模块等。
开源模块就是不收费的由好心人写好的模块,我们可以通过下载这些模块后导入使用,开源模块一般也被我们称为第三方模块,例如数据处理工具NumPy、Pandas,以及深度学习着名框架Tensorflow都属于开源模块。
自定义模块与开源模块相对应,开源模块是他人写的,而自定义模块就是自己写好的模块。
Python常见的三个模块
一、time与datetime模块
在Python中,通常有这几种方式来表示时间:
时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。
格式化的时间字符串(Format String)
结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)
二、random模块
三、os模块
os模块是与操作系统交互的一个接口
⑵ 【Python入门】37.常用第三方模块之 创建虚拟环境virtualenv
摘要:virtualenv可创建独立的虚拟运行环境,解决了不同应用项目间多版本的不兼容问题。
常用第三方模块
virtualenv
安装virtualenv
创建虚拟环境
使用virtualenv
小结
virtualenv 用于创建Python的虚拟环境。当一个项目需要运行的版本与系统所带的版本不一致,就需要创建一个该项目的独立运行环境,确保项目正常运行。
比如现在要做一个Django项目,用到的Django是1.8版本,但系统的Django版本已经更新到1.11了,绝谈肢如果用系统的环境来运行项目就会有不兼容的情况出现,那么就需要创建虚拟环境来解决。
linux系统和Windows系统使用virtualenv略有不同。
下面介绍的是在 Windows系统 下如何使用virtualenv。
在命令行模式下输入:
等待安装成功即可。
首先通过cd命令进入需要创建虚拟环境的文件目录,如在D盘的envs文件夹里面
然后通过 virtualenv 创建一个虚拟环境,我们将它命名为 new_env
然后会看到下面结果:
说明成功使用当前系统的Python版本创建了一个虚拟环境。
通过cd命令进入虚拟环境目录下的Scripts目录
然后输入 activate
会出现下面的结果:
地址前面的括侍或号表示,当前环境是Python创建的虚拟环境 new_env 。
输入 python ,可查看当前环境的Python版本
输入 pip list ,可查看当前环境下包含的库的版本
在虚拟环境下,用pip安装的所有包都会装在 new_env 环境下,系统Python环境不受影响。这样,我们就可以安装运行项目所需要的工具版本了,
最并世后,使用 deactivate 命令退出虚拟环境
virtualenv可创建独立的虚拟运行环境,解决了不同应用项目间多版本的不兼容问题。
以上就是本节的全部内容,感谢你的阅读。
下一节内容:图形界面
有任何问题与想法,欢迎评论与吐槽。
和博主一起学习Python吧( ̄▽ ̄)~*
⑶ 盘点Python常用的模块和包
模块
1.定义
计算机在开发过程中,代码越写越多,也就越难以维护,所以为了编写可维护的代码,我们会把函数进行分组,放在不同的文件里。在python里,一个.py文件就是一个模块。
2.优点:
提高代码的可维护性。
提高代码的复用,当模块完成时就可以在其他代码中调用。
引用其他模块,包含python内置模块和其他第三方模块。
避免函数名和变量名等名称冲突。
python内建模块:
1.sys模块
2.random模块
3.os模块:
os.path:讲解
https://www.cnblogs.com/yufeihlf/p/6179547.html
数据可视化
1.matplotlib :
是Python可视化程序库的泰斗,它的设计和在1980年代被设计的商业化程序语言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它们让你能用更少的代码去调用 matplotlib的方法。
访问:
https://matplotlib.org/
颜色:
https://www.cnblogs.com/darkknightzh/p/6117528.html
教程:
https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html
2.Seaborn:
它是构建在matplotlib的基础上的,用简洁的代码来制作好看的图表。Seaborn跟matplotlib最大的区别就是它的默认绘图风格和色彩搭配都具有现代美感。
访问:
http://seaborn.pydata.org/index.html
3.ggplot:
gplot 跟 matplotlib 的不同之处是它允许你叠加不同的图层来完成一幅图
访问:
http://ggplot.yhathq.com/
4.Mayavi:
Mayavi2完全用Python编写,因此它不但是一个方便实用的可视化软件,而且可以方便地用Python编写扩展,嵌入到用户编写的Python程序中,或者直接使用其面向脚本的API:mlab快速绘制三维图
访问:http://code.enthought.com/pages/mayavi-project.html
讲解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8
5.TVTK:
TVTK库对标准的VTK库进行包装,提供了Python风格的API、支持Trait属性和numpy的多维数组。
VTK (http://www.vtk.org/) 是一套三维的数据可视化工具,它由C++编写,包涵了近千个类帮助我们处理和显示数据
讲解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html
机器学习
1.Scikit-learn
是一个简单且高效的数据挖掘和数据分析工具,易上手,可以在多个上下文中重复使用。它基于NumPy, SciPy 和 matplotlib,开源,可商用(基于 BSD 许可)。
访问:
讲解:https://blog.csdn.net/finafily0526/article/details/79318401
2.Tensorflow
最初由谷歌机器智能科研组织中的谷歌大脑团队(Google Brain Team)的研究人员和工程师开发。该系统设计的初衷是为了便于机器学习研究,能够更快更好地将科研原型转化为生产项目。
相关推荐:《Python视频教程》
Web框架
1.Tornado
访问:http://www.tornadoweb.org/en/stable/
2.Flask
访问:http://flask.pocoo.org/
3.Web.py
访问:http://webpy.org/
4.django
https://www.djangoproject.com/
5.cherrypy
http://cherrypy.org/
6.jinjs
http://docs.jinkan.org/docs/jinja2/
GUI 图形界面
1.Tkinter
https://wiki.python.org/moin/TkInter/
2.wxPython
https://www.wxpython.org/
3.PyGTK
http://www.pygtk.org/
4.PyQt
https://sourceforge.net/projects/pyqt/
5.PySide
http://wiki.qt.io/Category:LanguageBindings::PySide
科学计算
教程
https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#
1.numpy
访问
http://www.numpy.org/
讲解
https://blog.csdn.net/lm_is_dc/article/details/81098805
2.sympy
sympy是一个Python的科学计算库,用一套强大的符号计算体系完成诸如多项式求值、求极限、解方程、求积分、微分方程、级数展开、矩阵运算等等计算问题
访问
https://docs.sympy.org/0.7.1/guide.html#guide
讲解
https://www.jianshu.com/p/339c91ae9f41
解方程
https://www.cnblogs.com/zyg123/p/10549354.html
3.SciPy
官网
https://www.scipy.org/
讲解
https://blog.csdn.net/wsp_1138886114/article/details/80444621
4.pandas
官网
http://pandas.pydata.org/
讲解
https://www.cnblogs.com/linux-wangkun/p/5903945.html
5.blaze
官网
http://blaze.readthedocs.io/en/latest/index.html
密码学
1.cryptography
https://pypi.python.org/pypi/cryptography/
2.hashids
http://www.oschina.net/p/hashids
3.Paramiko
http://www.paramiko.org/
4.Passlib
https://pythonhosted.org/passlib/
5.PyCrypto
https://pypi.python.org/pypi/pycrypto
6.PyNacl
http://pynacl.readthedocs.io/en/latest/
爬虫相关
requests
http://www.python-requests.org/
scrapy
https://scrapy.org/
pyspider
https://github.com/binux/pyspider
portia
https://github.com/scrapinghub/portia
html2text
https://github.com/Alir3z4/html2text
BeautifulSoup
https://www.crummy.com/software/BeautifulSoup/
lxml
http://lxml.de/
selenium
http://docs.seleniumhq.org/
mechanize
https://pypi.python.org/pypi/mechanize
PyQuery
https://pypi.python.org/pypi/pyquery/
creepy
https://pypi.python.org/pypi/creepy
gevent
一个高并发的网络性能库
http://www.gevent.org/
图像处理
bigmoyan
http://scikit-image.org/
Python Imaging Library(PIL)
http://www.pythonware.com/procts/pil/
pillow:
http://pillow.readthedocs.io/en/latest/
自然语言处理
1.nltk:
http://www.nltk.org/
教程
https://blog.csdn.net/wizardforcel/article/details/79274443
2.snownlp
https://github.com/isnowfy/snownlp
3.Pattern
https://github.com/clips/pattern
4.TextBlob
http://textblob.readthedocs.io/en/dev/
5.Polyglot
https://pypi.python.org/pypi/polyglot
6.jieba:
https://github.com/fxsjy/jieba
数据库驱动
mysql-python
https://sourceforge.net/projects/mysql-python/
PyMySQL
https://github.com/PyMySQL/PyMySQL
PyMongo
https://docs.mongodb.com/ecosystem/drivers/python/
pymongo
MongoDB库
访问:https://pypi.python.org/pypi/pymongo/
redis
Redis库
访问:https://pypi.python.org/pypi/redis/
cxOracle
Oracle库
访问:https://pypi.python.org/pypi/cx_Oracle
SQLAlchemy
SQL工具包及对象关系映射(ORM)工具
访问:http://www.sqlalchemy.org/
peewee,
SQL工具包及对象关系映射(ORM)工具
访问:https://pypi.python.org/pypi/peewee
torndb
Tornado原装DB
访问:https://github.com/bdarnell/torndb
Web
pycurl
URL处理工具
smtplib模块
发送电子邮件
其他库暂未分类
1.PyInstaller:
是一个十分有用的第三方库,它能够在Windows、Linux、 Mac OS X 等操作系统下将 Python 源文件打包,通过对源文件打包, Python 程序可以在没有安装 Python 的环境中运行,也可以作为一个 独立文件方便传递和管理。
2.Ipython
一种交互式计算和开发环境
讲解
https://www.cnblogs.com/zzhzhao/p/5295476.html
命令
ls、cd 、run、edit、clear、exist
⑷ 那些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__ 的列表,在这个列表中列出将要导出的子包名,如下所示:
这样from sound.effects import * 将导入 sound 包的三个命名子模块。
如果没有定义 __all__,from sound.effects import * 语句 不会 从包 sound.effects 中导入所有子模块到当前命名空间;它只会导入包 sound.effects。
Import 可以指定相对路径,我们使用 . 来表示当前包, 使用 .. 来表示父包。
如下所示:
⑸ python有哪些模块
Python是一门非常高级的编程语言,内置了许多标准模块,比如:sys、os、datetime等。
os模块
os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") # 改变当前脚本工作目录;相当于shell下cd
os.curdir # 返回当前目录: ('.')
os.pardir # 获取当前目录的父目录字符串名:('..')
os.makedirs('dirname1/dirname2') # 可生成多层递归目录
os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') # 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') # # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname') # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() # 删除一个文件
os.rename("oldname","newname") # 重命名文件/目录
os.stat('path/filename') # 获取文件/目录信息
os.sep # 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
os.linesep # 输出当前平台使用的行终止符,win下为" ",Linux下为" "
os.pathsep # 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.name # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") # 运行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对象
⑹ Python中操作Excel最好用的模块是
Python中的模块也称为库,在Python中操作Excel的模块有很多。
优缺点如下:
**1、Pandas模块**
Pandas是Python的一一个开源数据分析模块,可用于数据挖掘和数据分析,同时也提供数据清洗功能,可以说它是日前Python数据分析的必备工具之一。Pandas能够处理类似电子表格的数据,用于数据快速加载、操作、对齐、合并、数据预处理等。
Pandas通过对Excel文件的读写实现数据输入、输出,Pandas支持.xls和.xlsx格式文件的读写,支持只加载每个表的单一工作页。
import pandas as pd
df=pd.read_excel(r'E:ban.xlsx') #pandas 导入库获取excel表的数据内容
df`
**2、xlwings模块**
xlwings模块可以实现Python中调用Excel,也可以从Excel调用Python,这个模块支持支持.xls和.xlsx格式文件的读写,支持对这类文件的操作,还支持使用VBA,具有强大的转换功能,并且可以处理大部分数据类型。
**3、Xlrd模块**
xlrd模块可以读取Excel文件,其对Excel文件的读取可以实现比较精细的控制。虽然现在使用Pandas模块读取和保存Excel文件往往更加方便快捷,但在某些场景下,依然需要xlrd这种更底层的模块来实现对Excel文件读取的控制。
xlrd模块支持.xls、.xlsx格式文件的读取,但不支持写信息。
**4、xlwt模块**
前面xlrd模块可以读取Excel文件,但不能写。而xlwt模块可以写、可以修改Excel文件,但不能读,且只支持.xls格式文件的写操作。
**5、xlutils模块**
xlutils也是一个处理Excel文件的模块,但它不能对Excel文件进行读和写的操作,但依赖于xlrd模块和xlwt模块。xlutils模块支持.xls格式文件,不支持.xlsx格式文件。
**6、openpyxl模块**
openpyxl模块可以对.xlsx格式的Excel文件进行读写操作,特点是读取快、写入慢,且不能操作.xls格式文件。
**7、xlsxwriter模块**
xlsxwriter模块支持多种Excel功能,可以写.xlsx格式的Excel文件,而且速度快、占用内存空间小,但不支持读或者修改现有的Excel文件。
**8、win32com模块**
win32com模块支持.xls、.xlsx格式的Excel文件的读、写和修改,读写速度快。但win32com模块存在于pywin32的模块中,自身没有完善的文档,使用起来不太方便。
**9、分析总结**
Pandas模块把Excel当作数据读写的容器,为其强大的数据分析服务,因此读写性能的表现中规中矩。xlwings和win32com这两个模块都拥有很好的读写性能,强大的转换器可以处理大部分数据类型,同时,可以在程序运行时,在打开的Excel文件中进行实时操作,实现过程的可视化。另外,xlwings模块的数据结构转换器使其可以快速地为Excel文件添加二维数据结构,而不需要在Excel文件中重定位数据的行和列,因此笔者认为,从读写的便捷性来看,xlwings模块比较好用一些。
⑺ 常用的python库有哪些
10个顶级且实用的python库
1、Dash
Dash是比较新的软件包,它是用纯python构建数据可视化app的理想选择,因此特别适合处理数据的任何人。Dash是Flask、Plotly.js和React.js的混合体。
2、Pygame
Pygame是SDL多媒体库的python装饰器,SDL是一个跨平台开发库,旨在提供对以下内容的低级接口:音频、键盘、鼠标、游戏杆、基于OpenGL和Direct3D的图形硬件。
Pygame具有高度的可移植性,几乎可以在所有平台和操作系统上运行。尽管它具有完善的游戏引擎,但您也可以使用此库直接从python脚本播放MP3文件。
3、Pillow
Pillow专门用于处理图像,您可以使用该库创建缩略图,在文件格式之间转换、旋转、应用滤镜、显示图像等等。如果您需要对许多图像执行批量操作,这是理想的选择。
4、Colorama
Colorama允许你在终端使用颜色,非常适合python脚本,文档简短而有趣,可以在Colorama PyPi页面上找到。
5、JmesPath
在python中使用JSON非常容易,因为JSON在python字典上的映射非常好。此外,python带有自己出色的json库,用于解析和创建JSON。对我来说,这是它最好的功能之一,如果我需要使用JSON,可以考虑使用python。
JmesPath使python处理JSON更加容易,它允许您明确地指定如何从JSON文档中提取元素。
6、Requests
Requests建立在世界上下载量最大的python库urllib3上,它令Web请求变得非常简单,功能强大且用途广泛。
Requests可以完成您能想到的所有高级工作,比如:认证,使用cookie,执行POST、PUT、DELETE等,使用自定义证书,使用会话Session、使用代理等。
7、Simplejson
python中的本地json模块有什么问题?没有!实际上,python的json是Simplejson。意思是:python采用了Simplejson的一个版本,并将其合并到每个发行版中,但是使用Simplejson具有一些优点:它适用于更多python版本、它比python随附的版本更新频率更高、它具有用C编写的部分,因此非常快速。
8、Emoji
Emoji库非常意思,但并非每个人都喜欢表情包,分析视角媒体数据时,Emoji包非常有用。
9、Python-dateutil
Python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是:常规的python日期时间功能在哪里结束,而Python-dateutil就出现了。
10、BeautifulSoup
如果您从网站上提取了一些HTML,则需要对其进行解析以获取实际所需的内容。BeautifulSoup是一个python库,用于从HTML和XML文件中提取数据。它提供了导航,搜索和修改解析树的简单方法。它非常强大,即使损坏了,也能够处理各种HTML,这是一个非常强大的功能。
它的一些主要功能:
①BeautifulSoup会自动将传入文档转换为Unicode,将传出文档转换为UTF-8,您无需考虑编码。
②BeautifulSoup位于流行的python解析器的顶部,使您可以尝试不同的解析策略或提高灵活性。