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])