Python 分割大文件81


在日常开发中,我们经常需要处理大文件。对于文本文件,我们可以使用 Python 提供的内置方法来进行分割。这样做既方便又高效。

读写文件

在 Python 中,我们可以使用 open() 函数来打开文件:
```
with open('', 'r') as f:
# 操作文件
```

其中, 是要打开的文件名,'r' 表示以只读模式打开。在 with 语句块中,我们可以对文件进行操作,结束后文件自动关闭。对于写操作,可以使用 'w' 模式。

文件分割

可以使用 Python 的 shutil 模块来分割文件:```
import shutil
# 以 5MB 为单位分割文件
('', 'split_file-', 5 * 1024 * 1024)
```

splitfile() 函数将把 分割成多个名为 split_file-001、split_file-002 等的文件,每个文件大小不超过 5MB。

按行分割

如果需要按行分割文件,可以使用内置的 splitlines() 方法:
```
with open('', 'r') as f:
lines = ()
# 每 1000 行分割一次文件
for i in range(0, len(lines), 1000):
with open('split_file-' + str(i), 'w') as f:
(lines[i:i+1000])
```

以上代码将 按每 1000 行分割成多个文件。

按字节分割

按字节分割文件时,可以使用 () 方法读取文件内容,然后使用切片操作分割:
```
with open('', 'rb') as f:
data = ()
# 每 1MB 分割一次文件
for i in range(0, len(data), 1024 * 1024):
with open('split_file-' + str(i), 'wb') as f:
(data[i:i+1024 * 1024])
```

以上代码将 按每 1MB 分割成多个文件。

限制

需要注意的是,以上分割方法都假定文件大小已知。如果文件特别大,可能无法在内存中加载整个文件。此时需要考虑使用流式处理或其他更适合大文件处理的技术。

2024-10-28


上一篇:从 TXT 文件高效导入数据到 Python

下一篇:保护 Python 源代码的加密指南