Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Kích thước file tối đa Python có thể mở được

Không có giới hạn cứng do Python — chỉ bị giới hạn bởi:

  • RAM vật lý (khi đọc toàn bộ vào bộ nhớ).
  • Địa chỉ ảo (virtual address space): 32-bit process ~2-4GB, 64-bit process rất lớn (TB).
  • Filesystem limit (ví dụ FAT32: 4GB, ext4: 16TB...).
  • OS limit (ulimit, quota).

Thực tế

  • Người dùng thường load file GBs vào memory (pandas, numpy).
  • File > RAM → dùng memory map (mmap), streaming (đọc từng chunk), hoặc database.

Ví dụ đọc file lớn an toàn (streaming)

with open('huge_file.log', 'r') as f:
    for line in f:  # đọc từng dòng, không load toàn bộ
        process(line)

# Hoặc đọc chunk fixed-size
CHUNK = 1024 * 1024  # 1MB
with open('huge.bin', 'rb') as f:
    while chunk := f.read(CHUNK):
        process(chunk)

Memory map (mmap)

import mmap
with open('huge.dat', 'r+b') as f:
    mm = mmap.mmap(f.fileno(), 0)
    # truy cập mm như bytearray nhưng không load toàn bộ vào RAM
    print(mm[:100])