小编Joe*_*oel的帖子

如何在Windows上使用Python处理包含EOF/Ctrl-Z字符的大文本文件?

我有一些大的以逗号分隔的文本文件(最大的大约是15GB),我需要使用Python脚本进行处理.问题是文件偶尔会在它们中间包含DOS EOF(Ctrl-Z)字符.(不要问我为什么,我没有生成它们.)另一个问题是文件在Windows机器上.

在Windows上,当我的脚本遇到其中一个字符时,它会认为它位于文件的末尾并停止处理.由于各种原因,我不允许将文件复制到任何其他计算机.但我仍然需要处理它们.

以下是我的想法:

  1. 以二进制模式读取文件,丢弃相等的字节chr(26).这可行,但这将花费大约永远.
  2. 使用类似的东西sed来消除EOF字符.不幸的是,据我所知,sed在Windows上有同样的问题,当它看到EOF时会退出.
  3. 使用某种Notepad程序并进行查找和替换.但事实证明,Notepad-type程序无法很好地处理15GB文件.

我的IDEAL解决方案只是将文件作为文本读取而忽略Ctrl-Z字符.有没有合理的方法来实现这一目标?

python windows text sed eof

7
推荐指数
1
解决办法
1879
查看次数

标签 统计

eof ×1

python ×1

sed ×1

text ×1

windows ×1