在 Windows 中打开 140GB 的 .txt 文件?

Open 140GB .txt file in Windows?

我有一个巨大的 dna 序列保存在一个大小为 140GB 的 .txt 文件中,我想使用 txt 文件编辑器打开它。记事本、Python、R 不允许打开这样的文件。有没有专门的文本文件编辑器可以打开大文件?

我目前在Python中使用这段代码打开140GB大文件.txt文件:

path = open("my_file_path\my_140GB_file.txt", "r")
file = path.read()
print(file)

错误信息是MemoryError指的是file = path.read()

在 Python 中有多种读取大文本文件的方法。如果它是分隔文件,您可能需要使用 pandas 库。

您可以使用上下文管理器并按如下方式读取块。

Python 3.8+

with open("my_file_path\my_140GB_file.txt", "r") as f:
    while chunk := f.read(1024 * 10):   # you can use any chunk size you want
        do_something(chunk)

之前Python3.8

您可以使用 lambda 进行迭代:

with open("my_file_path\my_140GB_file.txt", "rb") as f:
    for chunk in iter(lambda:f.read(1024*10), ""):
        do_something(chunk)

或者,如果文件是基于行的,您可以阅读每一行。

with open("my_file_path\my_140GB_file.txt", "r") as f:
    for line in f:
        do_something(line)

Pandas 分隔文件的 DataFrame

如果您的文件是带分隔符的(如 csv),那么您可以考虑使用 pandas.

import pandas as pd
for chunk in pd.read_csv("my_file_path\my_140GB_file.csv", chunksize=2):
    do_something(chunk )