使用 Python 可以做什么?

翻译自 《Python学习手册(第5版)》

Systems Programming

Python 对操作系统服务的内置接口使其非常适合编写可移植、可维护的系统管理工具和实用程序 utilities (有时称为 shell 工具)。Python 程序可以搜索文件和目录树、启动其他程序、使用进程和线程进行并行处理等等。

Python 的标准库带有 POSIX 绑定和对所有常用 OS 工具的支持: 环境变量、文件、套接字、管道、进程、多线程、正则表达式模式匹配、命令行参数、标准流接口、shell 命令发射器、文件名扩展、zip 文件实用程序、XML 和 JSON 分析器、CSV 文件处理程序等。此外, Python 的大部分系统接口设计为可移植; 例如, 复制目录树的脚本通常在所有主要 Python 平台上运行不变。EVE Online 采用 Stackless Python 的实现并提供了针对多处理需求的高级解决方案。

GUIs (用户图形接口)

Python 的简洁和快速周转也使它成为桌面上图形用户界面编程的好匹配。python 附带了一个标准面向对象的接口, 该 API 称为 tkinter (tkinter 2.X), 它允许 Python 程序实现具有本地外观和感觉的便携式 gui。Python/tkinter gui 在 Windows、X Windows ( Unix 和 Linux ) 和 Mac os (经典版和 OS x) 上运行不变。一个免费的扩展包, PMW, 添加高级小部件到 tkinter 工具包。此外, 基于 c++ 库的 wxPython GUI API 提供了一种在 Python 中构建便携式 gui 的替代工具包。

更高级别的工具包 (如达博) 建立在基本 api (如 wxPython 和 tkinter) 之上。使用适当的库, 您还可以在 Python 中的其他工具包中使用 GUI 支持, 例如 Qt 与 PyQt、具有 PyGTK 的 GTK、带有 PyWin32 的 MFC、. NET 和 IronPython, 以及使用 Jython (2 章中描述的 Java 版本的 Python) 或 JPype 进行摆动。对于在 web 浏览器中运行或具有简单接口要求的应用程序, Jython 和 Python web 框架和服务器端 CGI 脚本提供其他用户界面选项。

Internet Scripting

python 附带了标准的 Internet 模块, 允许 python 程序在客户端和服务器模式下执行各种网络任务。脚本可以通过套接字进行通信;提取发送到服务器端 CGI 脚本的表单信息;通过 FTP 传输文件;分析和生成 XML 和 JSON 文档;发送、接收、撰写和分析邮件; 按 URL 获取网页;解析获取的网页的 HTML;通过 XML (RPC、SOAP 和 Telnet) 进行通信等等。Python 的库使这些任务非常简单。

不仅如此, Web 上还提供了大量的第三方工具, 用于 Python 中的 Internet 编程。例如, HTMLGen 系统生成基于 Python 类的描述的 HTML 文件, mod_python 包在 Apache web 服务器中高效运行 Python, 并支持服务器端模板化及其 Python 服务器页面, 以及 Jython 系统提供无缝 Python/Java 集成, 并支持在客户端上运行的服务器端小程序的编码。

此外, 对于 python, 如 Django、TurboGears、web2py、塔架、Zope 和 WebWare, 完整的 web 开发框架包支持使用 python 快速构建全功能和生产质量的网站。其中许多功能包括对象关系映射器、模型/视图/控制器体系结构、服务器端脚本和模板以及 AJAX 支持, 以提供完整的企业级 web 开发解决方案。

最近, Python 已扩展到丰富的 Internet 应用程序 (RIAs), 其中包括 IronPython 中的 Silverlight 和 pyjs (也称为睡衣 ( pyjamas)) 及其 Python 到 JavaScript 编译器、AJAX 框架和小部件集。Python 还已迁移到云计算、应用引擎以及前面的数据库部分中描述的其他内容。在 Web 潜在客户的位置, Python 很快就会跟随。

Component Integration (组件集成)

Python 在 c 和 c++ 系统中扩展和嵌入的能力使其成为一种灵活的胶水语言, 用于编写其他系统和组件的行为脚本。例如, 将 C 库集成到 python 使 python 能够测试和启动库的组件, 并在产品中嵌入 Python, 无需重新编译整个产品 (或根本不发运其源代码) 即可对现场自定义进行编码。

诸如 SWIG 和 SIP 代码生成器之类的工具可以自动完成将编译的组件链接到 python 以便在脚本中使用所需的大部分工作, 而 Cython 系统允许程序员混合 python 和类似 C 的代码。更大的框架, 如 Python 在 Windows 上的 COM 支持、基于 Jython Java 的实现和 IronPython。基于 .NET 的实现提供了脚本组件的其他方法。例如, 在 Windows 上, Python 脚本可以使用框架来编写 Word 和 Excel 的脚本、访问 Silverlight 等。

Database Programming

对于传统的数据库需求, 对于所有常用的关系数据库系统 (Sybase、Oracle、Informix、ODBC、MySQL、PostgreSQL、SQLite 等) 都有 Python 接口。python 世界还定义了一个可移植数据库 API, 用于从 Python 脚本访问 SQL 数据库系统, 在各种基础数据库系统上看起来相同。例如, 由于供应商接口实现了便携式 API, 编写用于与免费 MySQL 系统一起工作的脚本在其他系统 (如 Oracle) 上的工作基本不变;您通常需要做的就是更换基础供应商界面。自2.5 以来, 进程内 SQLite 嵌入式 SQL 数据库引擎是 Python 本身的标准部分, 支持原型设计和基本程序存储需求。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxfdd.html