50个很棒的Python模块

本文列举了50个优秀的Python模块,覆盖图形界面、数据库交互、网络编程、科学计算等多个方面,为Python开发者提供了丰富的资源。

50个很棒的Python模块

 
跳转到指定楼层
楼主
发表于 2012-8-31 19:26:57 | 只看该作者 | 倒序浏览
Python具有强大的扩展能力,我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images, Sound, OS interaction, Web,以及其他。推荐收藏。

Graphical interface wxPython http://wxpython.org
Graphical interface pyGtk http://www.pygtk.org
Graphical interface pyQT http://www.riverbankcomputing.co.uk/pyqt/
Graphical interface Pmw http://pmw.sourceforge.net/
Graphical interface Tkinter 3000 http://effbot.org/zone/wck.htm
Graphical interface Tix http://tix.sourceforge.net/

Database MySQLdb http://sourceforge.net/projects/mysql-python
Database PyGreSQL http://www.pygresql.org/
Database Gadfly http://gadfly.sourceforge.net/
Database SQLAlchemy http://www.sqlalchemy.org/
Database psycopg http://www.initd.org/pub/software/psycopg/
Database kinterbasdb http://kinterbasdb.sourceforge.net/
Database cx_Oracle http://www.cxtools.net/default.aspx?nav=downloads
Database pySQLite http://initd.org/tracker/pysqlite

MSN Messenger msnlib http://auriga.wearlab.de/~alb/msnlib/
MSN Messenger pymsn http://telepathy.freedesktop.org/wiki/Pymsn
MSN Messenger msnp http://msnp.sourceforge.net/
Network Twisted http://twistedmatrix.com/
Images PIL http://www.pythonware.com/products/pil/
Images gdmodule http://newcenturycomputers.net/projects/gdmodule.html
Images VideoCapture http://videocapture.sourceforge.net/

Sciences and Maths scipy http://www.scipy.org/
Sciences and Maths NumPy http://numpy.scipy.org//
Sciences and Maths numarray http://www.stsci.edu/resources/software_hardware/numarray
Sciences and Maths matplotlib http://matplotlib.sourceforge.net/

Games Pygame http://www.pygame.org/news.html
Games Pyglet http://www.pyglet.org/
Games PySoy http://www.pysoy.org/
Games pyOpenGL http://pyopengl.sourceforge.net/

Jabber jabberpy http://jabberpy.sourceforge.net/

Web scrape http://zesty.ca/python/scrape.html
Web Beautiful Soup http://crummy.com/software/BeautifulSoup
Web pythonweb http://www.pythonweb.org/
Web mechanize http://wwwsearch.sourceforge.net/mechanize/

Localisation geoname.py http://www.zindep.com/blog-zindep/Geoname-python/

Serial port pySerial http://pyserial.sourceforge.net/
Serial port USPP http://ibarona.googlepages.com/uspp

Parallel Port pyParallel http://pyserial.sourceforge.net/pyparallel.html

USB Port pyUSB http://bleyer.org/pyusb/

Windows ctypes http://starship.python.net/crew/theller/ctypes/
Windows pywin32 http://sourceforge.net/projects/pywin32/
Windows pywinauto http://www.openqa.org/pywinauto/
Windows pyrtf http://pyrtf.sourceforge.net/
Windows wmi http://timgolden.me.uk/python/wmi.html

PDA/GSM/Mobiles pymo http://www.awaretek.com/pymo.html
PDA/GSM/Mobiles pyS60 http://sourceforge.net/projects/pys60

Sound pySoundic http://pysonic.sourceforge.net/
Sound pyMedia http://pymedia.org/
Sound FMOD http://www.fmod.org/
Sound pyMIDI http://www.cs.unc.edu/Research/assist/developer.shtml

GMail libgmail http://libgmail.sourceforge.net/
Google pyGoogle http://pygoogle.sourceforge.net/
Expect pyExpect http://pexpect.sourceforge.net/
WordNet pyWordNet http://osteele.com/projects/pywordnet/
Command line cmd http://blog.doughellmann.com/2008/05/pymotw-cmd.html
Compiler backend llvm-py http://mdevan.nfshost.com/llvm-py/
3D VPython http://vpython.org





常用的Python库原文地址:常用的Python库作者:屈俊洋  Tkinter—- Python默认的图形界面接口。
  Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk
API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John
Ousterhout 发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开发。Perl、 Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平台下都能使用。
  Python Imaging
Library(PIL)—-python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
  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来编写,所以速度的优势很明显。NumPy 是Numarray的后继者,用来代替NumArray。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代
Magma, Maple, Mathematica和Matlab 这类工具。
  MySQLdb模块—-
用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。
  PyGTK —- 用于python
GUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的那个库。有了它,你完全可以自信的尝试自己制造Photoshop
  PyQt —-
用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt, qtcanvas, qtgl,
qtnetwork, qtsql, qttable, qtui and
qtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是
Scintillar编辑器类的Qt接口。
  PyMedia —-
用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav, mp3, ogg, avi, divx, dvd,
cdda etc)。可在Windows和Linux平台下使用。
  Psyco —-
一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
  Python-ldap —-
提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
  smtplib模块 —- 发送电子邮件。
  ftplib模块 —-
定义了FTP类和一些方法,用以进行客户端的ftp编程。我们可用python编写一个自己的ftp客户端程序,用于下载文件或镜像站点。如果想了解ftp协议的详细内容,请参考RFC959。
  xmpppy模块 —- Jabber服务器采用开发的XMPP协议,Google
Talk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。
  下面这些就不详细介绍,只列出名字和功能
  adodb —- ADO数据库连接组件
  bsddb3 —- BerkeleyDB的连接组件
  chardet —- 编码检测
  Cheetah —- 构建和扩充任何种类的基于文本的内容
  cherrypy —- 一个WEB framework
  ctypes —- 用来调用动态链接库
  Cx-oracle —- 连接oracle的工具
  DBUtils —- 数据库连接池
  django —- 一个WEB framework
  DPKT —- raw-scoket网络编程
  docutils —- 用来写文档的
  dpkt —- 数据包的解包和组包
  feedparser —- rss解析
  Kodos —- 正则表达式调试工具
  Mechanize —- 爬虫连接网站常用
  pefile —- windows pe文件解析器
  py2exe —- 用来生成windows可执行文件
  pycurl —- URL处理工具
  pydot —- 画图的,graphiz
  pyevent —- Python的事件支持
  pylint —- 培养良好的编码习惯
  Pylons —- 又一个web framework
  pypcap —- 抓包的
  pysqlite2 —- SQLite的连接组件
  python-dnet —- 控制网络安全的其他设备
  pythonwin —- Python的Windows扩展
  pywmi —- 省了好多折腾功夫
  reportlab —- Python操作PDF的Libary。
  scapy —- 网络包构建分析框架,可编程的wireshark,有兴趣的google
“Silver Needle in the Skype”
  scons —- 项目构建工具,写好了模板用起来还是很方便的
  sendpkt —- Python发包
  setuptools —- 一套python包管理机制
  simplejson —- JSON的支持
  sqlalchemy —- SQL数据库连接池
  SQLObject —- 数据库连接池
  twisted —- 巨无霸的网络编程框架
  winpdb —- 自己的程序或者用别的库不太明白的时候就靠它了
  wxPython —- GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构文章来源:http://blog.sina.com.cn/s/blog_5ce1d6e30100n7e4.html

### 回答1: 当然可以。下面是一个简单的 Python 烟花代码示例: ``` import turtle import random # 设置窗口大小 turtle.setup(400, 500) # 设置画笔 t = turtle.Turtle() t.speed(0) t.color("red") # 画烟花 for i in range(50): t.penup() t.goto(random.randint(-200, 200), random.randint(-200, 200)) t.pendown() t.circle(random.randint(10, 40)) turtle.done() ``` 这段代码使用 Python 的 turtle 库在窗口中画了 50 个随机大小、随机位置的红色圆圈,模拟烟花的效果。 在运行代码之前,你需要确保已安装了 turtle 库。你可以使用以下命令安装它: ``` pip install turtle ``` 希望这些信息能帮到你! ### 回答2: 当然可以写一个Python的烟花代码!以下是一个简单的示例: ```python import random import turtle # 设置画布大小和背景色 canvas = turtle.Screen() canvas.bgcolor("black") canvas.setup(width=800, height=600) # 创建一个烟花粒子的类 class Particle(turtle.Turtle): def __init__(self): turtle.Turtle.__init__(self) self.shape("circle") self.color("red") self.penup() self.speed(0) self.fwd = 3 + random.random() * 2 self.goto(random.randint(-400, 400), -300) def update(self): self.goto(self.xcor(), self.ycor() + self.fwd) self.fwd -= 0.1 # 创建烟花爆炸效果 def explode(x, y): colors = ["red", "blue", "green", "purple", "yellow", "orange", "pink"] for _ in range(20): particle = Particle() particle.color(colors[random.randint(0, len(colors) - 1)]) particle.goto(x, y) particles.append(particle) # 监听鼠标点击事件 turtle.onscreenclick(explode) # 创建烟花粒子列表 particles = [] # 主循环 while True: canvas.update() # 更新烟花粒子 for particle in particles: particle.update() # 清除消失的烟花粒子 particles = [particle for particle in particles if particle.fwd > -3] turtle.done() ``` 此代码使用turtle库绘制了一个烟花效果。通过点击屏幕,可以触发烟花爆炸效果,并在空中生成彩色的烟花粒子。每个烟花粒子都有自己的位置、速度和颜色,并且会逐渐消失。循环不断更新烟花粒子的位置,并清除消失的粒子,以实现动画效果。 ### 回答3: 当然可以!下面是一个简单的Python烟花代码示例: ```python import turtle import random def draw_firework(): turtle.speed(5) turtle.penup() x = random.randint(-200, 200) y = random.randint(-200, 200) turtle.goto(x, y) turtle.pendown() turtle.color("red") # 绘制火柴棒 turtle.forward(100) turtle.backward(50) turtle.left(90) turtle.forward(50) # 绘制火花 colors = ["red", "orange", "yellow", "green", "blue", "purple"] for i in range(30): turtle.pencolor(random.choice(colors)) turtle.forward(50) turtle.backward(50) turtle.right(12) # 恢复图形窗口 turtle.penup() turtle.home() turtle.pendown() # 绘制多个烟花 for i in range(10): draw_firework() turtle.done() ``` 这个代码使用Python的`turtle`模块绘制烟花效果。它会随机绘制多个火柴棒,然后从每个火柴棒的顶端喷出多个鲜艳的火花,最后恢复到初始状态,以便绘制下一个烟花。运行该代码,你将看到一个简单的烟花效果在屏幕上展示。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值