python拆分文件
时间: 2023-08-31 08:05:57 浏览: 50
如果你想将一个大文件拆分成多个小文件,可以使用 Python 中的文件操作函数来实现。以下是一种可能的解决方案:
```python
import os
# 设置大文件名和分割后的小文件名前缀
big_file_name = 'large_file.txt'
small_file_prefix = 'small_file_'
# 设置每个小文件的大小(字节数)
small_file_size = 1024 * 1024 # 1MB
# 读取大文件并逐一写入小文件
with open(big_file_name, 'rb') as big_file:
file_no = 1
while True:
# 读取指定大小的数据
data = big_file.read(small_file_size)
if not data:
# 数据读取完毕,退出循环
break
# 生成小文件名
small_file_name = '{}{:04d}.txt'.format(small_file_prefix, file_no)
# 写入小文件
with open(small_file_name, 'wb') as small_file:
small_file.write(data)
file_no += 1
# 打印分割结果
num_of_small_files = file_no - 1
total_size = os.path.getsize(big_file_name)
avg_size = total_size // num_of_small_files
print('分割完成,共生成 {} 个小文件,平均每个文件大小为 {} 字节。'.format(num_of_small_files, avg_size))
```
在上述代码中,我们首先设置大文件名和分割后的小文件名前缀,以及每个小文件的大小。然后使用 `open()` 函数打开大文件,并循环读取数据并写入小文件。每次循环读取指定大小的数据,当数据读取完毕后,退出循环。每次循环中,我们使用 `os.path.getsize()` 函数获取大文件的总大小,并根据文件数量计算出平均每个文件的大小。最后打印分割结果。