使用Python分组文件时出现问题

时间:2016-11-11 07:51:12

标签: python-2.7 grouping create-directory

所以,我的主要目标是根据(files // 2000)+1的数量创建目录,并在每个目录中放入2000个文件,并将剩余的内容放入最终目录(假设它永远不会被整除到2000年均匀)。

到目前为止,我的脚本看起来像这样:

import os
import shutil

def createDirs():'
src='P:\\stuff
folderNumber=0
filesNumber=0
for files in os.listdir(src):
    filesNumber=filesNumber+1
print filesNumber
totalFolders=(filesNumber//2000)+1
print totalFolders
for folders in range(0, totalFolders):
    os.mkdir('P:\\Project\\User\\TEST\\folder' + str(folderNumber))
    folderNumber=folderNumber+1

def group():
fileType='.txt'
src='P:\\Project\\User\\files'
folderCount=0
fileCount=0
for folders in os.listdir('P:\\Project\\User\\TEST'):
    folderCount=folderCount+1
for files in os.listdir('P:\\Project\\User\\TEST\\folder' + str(folderCount)):
    fileCount=fileCount+1
while fileCount <= 2000:
    for file in os.listdir(src):
        if file.endswith(filetype):
            path = os.path.join(src, file):
            shutil.move(path, 'P:\\Project\\User\\TEST\\folder' + str(folderCount))

目录生成,文件移动到文件夹1,但文件不断流入文件夹1。

非常感谢任何改进此过程的帮助和/或方法。

1 个答案:

答案 0 :(得分:0)

在您的while声明中,您永远不会增加fileCountfolderCount。我可能会删除while语句并将其替换为:

for name in os.listdir(src):
    if name.endswith(filetype):
        fileCount += 1
        if fileCount > 2000:
            fileCount = 0
            folderCount += 1
        path = os.path.join(src, file):
        shutil.move(path, 'P:\\Project\\User\\TEST\\folder' + str(folderCount))
相关问题