既然 Python 2.6 已经发布,那么每个程序员都应该了解该语言中当前的哪些模块?

Posted

技术标签:

【中文标题】既然 Python 2.6 已经发布,那么每个程序员都应该了解该语言中当前的哪些模块?【英文标题】:Now that Python 2.6 is out, what modules currently in the language should every programmer know about? 【发布时间】:2010-09-15 04:28:36 【问题描述】:

Python 中的许多有用特性都在某种程度上“隐藏”在了模块中。例如,命名元组(Python 2.6 中的新功能)可以在 collections 模块中找到。

Library Documentation page 将为您提供该语言的所有模块,但 Python 新手可能会发现自己说“哦,我不知道我可以使用 这种方式 Python!”除非有经验的开发人员指出该语言的重要特性。

不是专门寻找 Python 2.6 中的新模块,而是可以在这个最新版本中找到的模块。

【问题讨论】:

对不起,这个问题的措辞很糟糕:“既然 2.6 是我们的,什么是最好的 python 模块(不限于 2.6 的添加)” 尝试更简单的措辞:“什么是最好的蟒蛇模块?”也不是“每个程序员”都使用 python:“每个程序员都应该知道”部分有点偏离。 你对这个问题的阅读也不是很好。我不想知道什么是“最好的模块”。我想知道所有基本模块,那些你应该知道的。至于“每个程序员”的评论,要么你不是很聪明,要么就是心情不好。 【参考方案1】:

最令人印象深刻的新模块可能是multiprocessing 模块。首先,因为它可以让您在新进程中执行函数,并且使用与 threading 模块大致相同的 API。但更重要的是,因为它引入了许多用于进程间通信的出色类,例如 Queue 类和 Lock 类,它们的使用就像这些对象在多线程代码中一样,还有一些其他类用于在进程之间共享内存。

您可以在http://docs.python.org/library/multiprocessing.html找到文档

【讨论】:

【参考方案2】:

new json module 对网络程序员来说是一个真正的福音! (在被合并到标准库之前,它被称为simplejson。)

使用起来非常简单:json.dumps(obj) 将内置类型的 Python 对象编码为 JSON 字符串,而json.loads(string) 将 JSON 字符串解码为 Python 对象。

真的很方便。

【讨论】:

【参考方案3】:

可能是PEP 0631 和What's new in 2.6 可以提供答案元素。最后一篇文章介绍了 2008 年 10 月 1 日发布的 Python 2.6 中的新功能。

【讨论】:

【参考方案4】:

基本库

对于从另一种语言到 Python 的经验丰富的程序员来说,主要挑战是弄清楚一种语言如何映射到另一种语言。以下是一些基本库以及它们与 Java 等价物的关系。

os, os.path 

具有类似 java.io.File、java.lang.Process 等的功能。但更干净、更复杂,带有 Unix 风格。使用 os.path 而不是 os 以获得更高级别的功能。

sys 

操作 sys.path(类似于类路径),注册退出处理程序(如在 java Runtime 对象中),并访问标准 I/O 流,如在 java.lang.System 中。

unittest 

非常相似(并且基于)jUnit,带有测试装置和可运行的线束。

logging 

功能几乎与带有日志级别和记录器的 log4j 相同。 (日志也在标准的 java.util.Logging 库中)

datetime  

允许解析和格式化日期和时间,如 java.text.DateFormat、java.util.Date 和相关。

ConfigParser  

允许在 java 属性文件中进行持久配置(但也允许嵌套)。当您不希望 XML 或数据库后端的复杂性时使用它。

socket, urllib 

与 java.net 中的功能类似,用于处理套接字或通过 URL/URI 检索内容。

另外,请记住,许多基本功能,例如读取文件和使用集合,都在核心 python 语言中,而在 Java 中它存在于包中。

【讨论】:

以上是关于既然 Python 2.6 已经发布,那么每个程序员都应该了解该语言中当前的哪些模块?的主要内容,如果未能解决你的问题,请参考以下文章

python 2.7 2.6 共存下安装pip

在 Mac OS 10.6 (python 2.6) 上安装/构建 pymssql

如何检查 Django 版本

Python 2.6:在使用 multiprocessing.Pool 时处理本地存储

python协程

在 CentOS 中安装 python 2.6