【问题标题】:Create a variable with n bytes创建一个 n 字节的变量
【发布时间】:2022-01-18 20:43:42
【问题描述】:

我正在编写一个适用于大数据应用程序的应用程序。我的一个进程失败了,调试需要一段时间,因为一些需要加载到内存中的文件是 50+ gb。

我希望能够创建一个 2GB 的对象和另一个 41GB 的内存空间。 (对象中的内容无关紧要,对象只需要占用一些内存)。我会从文件中读取,但这需要一段时间。

在python3.7中是否有一种编程方式可以创建一个2GB内存大小的对象?

【问题讨论】:

  • “变量”不占用空间(嗯,每个机器字)。 对象可以。可能,做你想做的最简单的方法是b'x'*N 其中N 是一个适当的整数
  • 'x'* (1<<32).

标签: python python-3.x pandas bigdata


【解决方案1】:

感谢 cmets 中的@Quang Hoang。如果有人正在寻找答案,我只是在此处添加此答案

some_var = 'x' * (1<<32)

【讨论】:

  • 1&lt;&lt;32 非常适合以二进制方式思考的人。 some_var = 'x' * 10_000_000_000 是另一种可能更简单的方法。那是 10 GB。
【解决方案2】:
import sys

a = 'a' * 3000000000
sys.getsizeof(a) / 1024 / 1024 / 1024

输出为 2.7939677694812417 = 2.8GB。

【讨论】:

    猜你喜欢
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-08-17
    • 2014-04-14
    • 2017-11-06
    • 2021-07-31
    • 1970-01-01
    • 2013-03-04
    相关资源
    最近更新 更多