简介:本文的首席执行官注释将介绍有关python可以读取数千个数据的相关内容。我希望这对每个人都会有所帮助。让我们来看看。
特定时间需要通过网络效率,crawler效率等来确定。您可以使用时间模块测试小规模的时间并估算它。处理大量数据还需要考虑反crawler限制是否具有影响时间。
我们可以在GNU / Linux操作系统上使用2.2GHz Quad -core处理器和16GB RAM。当前脚本仅使用一个处理器。使用其他内核和RAM来更快地处理图像的最佳方法是什么?流程使用其他内核来运行脚本?
另一个选择是使用Gearman或Beanstalk等事物分配工作。我已经看到了多个处理库,但我不知道如何使用它。
解决方案
多个Python流程的操作是否会使用其他内核来运行脚本?
是的,如果任务受到CPU的约束,则可能是最简单的选择。但是,请勿为每个文件或每个目录生成一个过程;考虑使用像这样的工具,并行(1),并让其产生每个核心的每个核心的东西。
另一个选择是使用Gearman或Beanstalk等事物分配工作。
此外,请查看Zeromq的Python结合,这使得分布式处理非常简单。
我已经看到了多个处理库,但我不知道如何使用它。
例如,定义一个函数,过程,在单个目录中读取图像,连接到数据库并存储元数据。let返回指示成功或失败的布尔值。WeDirectories是目录处理的列表。
导入多处理
pool =多处理。
成功= all(pool.imap_unordered(proces,diars,diars))
所有目录都将在并行处理。如果需要,也可以在文件级别执行并行操作;这需要更多的维修和补充。
请注意,这将停止在第一次失败;为了使其更容易容忍,需要更多的工作。
当定向Python时,您需要在大表手表上阅读大型结果。
如果使用了传统方法,则Python的内存将爆炸,传统的阅读方法默认为内存中的内存下的所有行,然后对其进行处理。内存很容易溢出
如果您需要做其他任何事情,请再生另一个连接对象。
32位Python的限制为536870912元素,限制为64位Python为1152921504606846975。
最大容量取决于机器的性能指标。Pylist_new中的列表不是无限的。在Python源代码中,指定了列表的最大容量py_ssize_t_max。
Python最原始的实现是Cpython,它是与C的python一起实施的。对于Python中的列表元素,必须从基础规范中追溯到。
使用“打开功能”一一读取文件,然后按顺序比较它们。如果包含所需的字符串,则累积了数字1。在阅读后,可以计算旅行的数量。代码如下:
n = 0
对于打开的行('filename','r'):
如果在“固定字符串”中,则行:
n+= 1
打印(n)
阐明:
在开放方法中使用线可以提高代码效率。如果需要更复杂的统计信息,例如重复,您可以使用哈希功能将哈希值存储在列表中,然后进行统计信息。
两个选项
1:使用产量的懒惰加载,示例代码如下:
123456789101112
read_in_chunks(f)中的priect for process_data(pige)(pige)
2:使用ITER和帮助方法:
123456
f = open('trun_big_file.dat')defund1k():返回f.Read(1024)for Iter中的priece(read1k,''):proces_data(pigeS)
建议使用第一个。
结论:以上是首席CTO注释可以读取多少10,000个数据的所有内容。我希望这对每个人都会有所帮助。如果您仍然想了解有关此信息的更多信息,请记住收集并关注此网站。
