使用Python编写一个简单的文件分割合并工具
发布时间:2023-12-04 09:56:30
下面是一个简单的文件分割合并工具的Python代码实现:
import os
def split_file(input_file, chunk_size):
# 检查输入文件是否存在
if not os.path.exists(input_file):
print("输入文件不存在!")
return
# 获取输入文件的文件名和扩展名
file_name, file_extension = os.path.splitext(input_file)
# 读取输入文件
with open(input_file, 'rb') as f:
# 分割文件的计数器
count = 0
while True:
# 读取chunk_size大小的数据
chunk = f.read(chunk_size)
if not chunk:
# 文件已经读取完毕
break
# 拼接新文件名
output_file = file_name + "_" + str(count) + file_extension
# 创建并写入新文件
with open(output_file, 'wb') as out_file:
out_file.write(chunk)
# 更新分割文件的计数器
count += 1
def merge_files(output_file, *input_files):
# 创建并打开目标文件
with open(output_file, 'wb') as out_file:
for input_file in input_files:
# 打开源文件并逐块读取写入目标文件
with open(input_file, 'rb') as in_file:
chunk = in_file.read()
out_file.write(chunk)
# 使用例子
if __name__ == "__main__":
# 分割文件
split_file("input.txt", 1024)
# 合并文件
input_files = ["input.txt_0", "input.txt_1", "input.txt_2"]
merge_files("output.txt", *input_files)
上述代码中,split_file函数用于将输入文件切割成固定大小的块,并保存为新的文件。merge_files函数则用于合并多个输入文件为一个输出文件。使用例子中,我们首先将一个名为input.txt的文件切割成块,然后再将这些块合并成一个名为output.txt的文件。
这个实现只是简单地按照指定的大小进行分割和合并,没有考虑其他的错误处理和优化的情况。在实际使用时,可能需要根据具体的需求进行修改和扩展。
