㈠ python中的模块、库、包有什么区别
模块,库,包主要区别在于他们的定义与所指范围不同。
python模块,包含并且有组织的代码片段为模块,sample.py其中文件名smaple为模块名字。
而包是一个有层次的文件目录结构,它定义了由无数个模块或启搏隐无数个子包组成的python应用程序执行环境。
库的概念是具有相关功能模块的集合。这也是正是Python的一大特色之一,即具有强大的标准库,还有第三方库以及自定义模块。
模块和包是“存储层面”
模块就是一个让你import的文件包就是让你importfrom的地方例如你下载好某个包,然后把这个包解压到某个特定路径,然后就可以fromxxxximportyyyy.py了剩下的概银梁念都是“逻辑层面”,是不分语言的类我不想多解释,随便找本编程入门书去看吧库和框架都是用来定义某个包的使用目的的。
框架相当于定了包的用途,在这个用途上你进行二次开发(例如django相当于是一个websrv端),一般最多也就你在main里去调用它的入口或者通过decorator(@)来注册什么东西到框架里库则是相当于一个工具箱,你可以从中拿出任意工具在任意地点使用一悄厅个包里可以有库,也可以有框架,也可以两者都有
㈡ 盘点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模块的几种类型简介
view plain to clipboardprint?
import os
import stat
import time<DIV></DIV>
fileStats = os.stat ( 'test.txt' )
fileInfo = {
'Size' : fileStats [ stat.ST_SIZE ],
'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ),
'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ),
'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ),
'Mode' : fileStats [ stat.ST_MODE ]
}
for infoField, infoValue in fileInfo:
print infoField, ':' + infoValue
if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ):
print 'Directory. '
else:
print 'Non-directory.'
import os
import stat
import time
fileStats = os.stat ( 'test.txt' )
fileInfo = {
'Size' : fileStats [ stat.ST_SIZE ],
'LastModified' : time.ctime ( fileStats [ stat.ST_MTIME ] ),
'LastAccessed' : time.ctime ( fileStats [ stat.ST_ATIME ] ),
'CreationTime' : time.ctime ( fileStats [ stat.ST_CTIME ] ),
'Mode' : fileStats [ stat.ST_MODE ]
}
for infoField, infoValue in fileInfo:
print infoField, ':' + infoValue
if stat.S_ISDIR ( fileStats [ stat.ST_MODE ] ):
print 'Directory. '
else:
print 'Non-directory.'
㈣ python新手学习模块
要执行的时候需要 加一个参数。比如build, install, 之类的。
㈤ 常用的生物信息学python库有哪些
常用的生物信息学python库:
Tkinter
Python默认的图形界面接口。Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。
PyGTK
用于python GUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的库。
PyQt
用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt, qtcanvas, qtgl, qtnetwork, qtsql, qttable, qtui and qtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是Scintillar编辑器类的Qt接口。
wxPython
GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构(对于初学者或者对设计要求不高的用户来说,使用Boa Constructor可以方便迅速的进行wxPython的开发)
PIL
python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
Psyco
一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
xmpppy
Jabber服务器采用开发的XMPP协议,Google Talk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。
PyMedia
用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平台下使用。
Pmw
Python megawidgets,Python超级GUI组件集,一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。
PyXML
用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3C DOM规范的。它包含以下内容:
xmlproc: 一个符合规范的XML解析器。Expat: 一个快速的,非验证的XML解析器。还有其他和他同级别的还有 PyHtml PySGML。
PyGame
用于多媒体开发和游戏软件开发的模块。
PyOpenGL
模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。
NumPy、NumArray、SAGE
NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的底层代码使用C来编写,所以速度的优势很明显。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代Magma, Maple, Mathematica和Matlab 这类工具。
MySQLdb
用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。
Sqlite3
用于连接sqlite数据库。
Python-ldap
提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
smtplib
发送电子邮件。
ftplib
定义了FTP类和一些方法,用以进行客户端的ftp编程。如果想了解ftp协议的详细内容,请参考RFC959。
PyOpenCL
OpenCL的Python接口,通过该模块可以使用GPU实现并行计算。
㈥ Python之OS模块操作有哪些这18个高频函数是重中之重,你会用
案例一:新建一个txt文件并向文件中写入数据。
代码与结果如上图所示。
案例:os.rename('kitty1.txt',''kitty2.txt')
2.1 输出结果:将kitty1文件改为kitty2
2.2 文件解析说明:文件重命名,将test1文件改为test2文件。
案例:os.remove('kitty2.txt')
3.1 输出结果:kitty2.txt文件被删除
3.2 解析说明:删除文件。
案例:os.mkdir('kitty')
4.1 输出结果:创建一个文件夹名字为kitty
4.2 解析说明:创建文件夹。
4.3 解析说明:list.pop()就直接从list中的最末尾处删除一个元素。
案例:os.rmdir('test')
5.1 输出结果:删除一个文件夹
5.3 解析说明:删除文件夹.
解析说明:可以取代操作系统特定的路径分割符
案例一:print(os.getcwd())
输出结果:D:PythonProjectPython编程基础
解析说明:相当于linux下的pwd,获取当前目录。
案例一:os.chdir(os.getcwd()+os.sep+'kitty')
解析说明:进入到某个目录下。
解析说明:相当于linux下的ls,显示当前目录下的文件。
解析说明:创建一个aa文件夹,再在里面创建一个bb文件夹。
解析说明:删除aa文件夹和aa文件夹中的bb文件夹。
解析说明:判断是否是个文件。
解析说明:判断是否是个文件夹。
解析说明:判断文件是否存在。
解析说明:获取文件大小。
解析说明:返回文件的绝对路径。
解析说明:获取文件的文件名,注意参数需要传入绝对路径。
解析说明:获取文件的所在目录,注意参数需要传入绝对路径。
㈦ Python写100个随机整数并写入文件
以下是一个Python程序,可以生成100个随机整数(范团族围在1到100之间),并将它们写斗或胡入文件random_numbers.txt中。其中,使用了random模块生成随机数,以及with open() as语句来打开文件和自动关闭文件。
python复制代码import random# 生成100个随机整数numbers = [random.randint(1, 100) for i in range(100)]# 将随机数写入文件with open('random_numbers.txt', 'w') as f: for num in numbers:
f.write(str(num) + '\n')print('随机数已写入文件')
运行空拦该程序后,会在当前目录下生成random_numbers.txt文件,并将100个随机整数写入其中。