📜  python 将文件拆分为偶数组文件夹 - Python (1)

📅  最后修改于: 2023-12-03 15:19:09.433000             🧑  作者: Mango

Python代码:将文件拆分为偶数组文件夹

在某些情况下,您可能需要将一个文件拆分成多个文件夹。例如,在数据处理中,您可能已经拥有一个8000行的数据集文件,但您希望将它分成10个文件夹,每个文件夹里放800个数据集。在Python中,这个任务非常简单。下面是一个简单的Python代码来将文件拆分为偶数组文件夹。

import os

filename = "你的文件名"
filesize = os.path.getsize(filename)
foldername = "你的文件夹名"
folderSize = 800 # 每个文件夹的大小
nFolders = (filesize + folderSize - 1) // folderSize # 确定文件夹数量
with open(filename, "rb") as inputfile:
    for i in range(nFolders):
        folder = os.path.join(foldername, "folder{}".format(i+1))
        os.makedirs(folder, exist_ok=True)
        with open(os.path.join(folder, filename), "wb") as outputfile:
            for j in range(folderSize):
                b = inputfile.read(1)
                if not b:
                    break
                outputfile.write(b)
        if not b:
            break

上面的代码使用Python内置的os模块来进行文件操作。它首先获取文件大小和指定每个新文件夹的大小,然后计算需要多少个文件夹来保存文件。之后,它迭代每个文件夹,将每个文件夹命名为“folder1”,“folder2”等等,直到所有的文件夹都创建完毕。最后,代码从原始文件中读取数据,并将数据写入新文件夹中。

值得注意的是,代码使用“wb”模式打开新文件,以确保在Windows上也可以正确处理二进制文件。代码还处理了将文件拆分成多个文件夹时可能发生的问题,例如在数据集的结尾处处理。如果数据集的大小不是整个文件夹的倍数,代码将在最后一个文件夹中放置剩余的数据。

现在您可以使用此Python代码轻松将文件拆分为偶数组文件夹。