比如文件夹1中有300个图片,按98张图片一个文件夹分到文件夹1,2,3。最后一个文件夹放剩下的。图片已经按1.jpg,2.jpg命名好了。
import os,shutil
def run(file1):
dir,file = os.path.split(file1)
for i in range(2,5):
os.mkdir(os.path.join(dir,f"{file}{i}"))
for root,dirs,files in os.walk(file1):
for img_name in files:
num = int(img_name.split(".")[0])
if num > 98 and num <= 98*2:
shutil.move(os.path.join(file1, img_name),f"{file1}2")
elif num > 98*2 and num <= 98*3:
shutil.move(os.path.join(file1, img_name),f"{file1}3")
elif num > 98*3:
shutil.move(os.path.join(file1, img_name), f"{file1}4")
run("这里放你的300图片文件路径")
已经经过测试了 :
import os,shutil
folder1 = r""
folder2 = r""
folder3 = r""
folder4 = r""
for img_name in os.listdir(folder1):
if int(img_name.split("."))>98 and int(img_name.split("."))<=98*2:
shutil.move(os.path.join(folder1,img_name),os.path.join(folder2,img_name))
if int(img_name.split("."))>98*2 and int(img_name.split("."))<=98*3:
shutil.move(os.path.join(folder1,img_name),os.path.join(folder3,img_name))
shutil.move(os.path.join(folder1,img_name),os.path.join(folder4,img_name))
感谢大佬
好像有点不对int() argument must be a string, a bytes-like object or a number, not 'list'
可以可以,大佬牛逼