【问题标题】:What is a simple and memory efficient way strip whitespace from a large string in Python什么是从 Python 中的大字符串中去除空格的简单且内存有效的方法
【发布时间】:2023-04-04 18:42:01
【问题描述】:

我有一个大字符串,大小>100mb。
我想删除前导和尾随空格。
有什么简单且节省内存的方法来做到这一点?

考虑以下问题:

一个 1Gb 的文件将被分区以进行并行处理。
该文件被分成 10 个相等的部分,每个 100 Mb 长。
这些文件的很大一部分是空白,因此要从每个 100 Mb 部分中删除前导和尾随空白。

有没有一种内存高效且简单的方法来从每个部分的头部和尾部去除这个空白。

【问题讨论】:

  • string.strip()还有别的办法吗?
  • string.strip(),如 new_s = s.strip() 似乎正在创建中间字符串副本。这发生在多个进程中,导致大量内存消耗。
  • 字符串是不可变的。您必须创建一个副本才能剥离字符串。
  • 字符串从何而来?也许您可以首先阻止将空格添加到其中。
  • @EdTate 把它放在问题中。

标签:
python
strip