講解
1、庫(kù):os,shutil.copy
2、代碼效果:對(duì)指定文件夾內(nèi)文件等量分配到新的文件夾
3、代碼原理:用os.listdir()遍歷文件同時(shí)用shutil.copy實(shí)現(xiàn)復(fù)制轉(zhuǎn)存
通過(guò)import os模塊中提供的功能,可以實(shí)現(xiàn)python對(duì)操作系統(tǒng)中文件和目錄的操作。
- os.path.abspath(path),顯示path在操作系統(tǒng)中的絕對(duì)路徑
- os.path.join(path, x),將path和x拼接成當(dāng)前操作系統(tǒng)兼容的路徑形式
- os.listdir(path),輸出當(dāng)前目錄下的文件及子目錄為list類型
- os.path.isdir(path) and os.path.isfile(path)判斷路徑為目錄還是文件,注意參數(shù)為path,之前在這里出現(xiàn)了很多錯(cuò)誤,直接輸文件名的話,沒(méi)有該文件就直接顯示False
代碼
import os
from shutil import copy
def folder_segmentation(path, new_path):
i = 0
k = 0
save_dir = new_path
if not os.path.isdir(save_dir):
os.makedirs(save_dir)
file_path = path
dir_name = ""#新文件夾命名
pathDir = os.listdir(file_path)
for allDIR in pathDir:
if ((i % 3) == 0):#每3個(gè)放置在一個(gè)新的文件夾里
k += 1
from_path = os.path.join(file_path, allDIR)
to_path = save_dir + "\\" + dir_name + str(k)
if not os.path.isdir(to_path):
os.makedirs(to_path)
copy(from_path, to_path)
i += 1
if __name__ == "__main__":
path = ""#原文件夾路徑
new_path = ""#保存文件夾路徑
folder_segmentation(path, new_path)
運(yùn)行結(jié)果
運(yùn)行前

產(chǎn)生文件夾

文件夾內(nèi)部效果(我設(shè)置的是3個(gè)一提取)
總結(jié)
到此這篇關(guān)于python文件夾分區(qū)的文章就介紹到這了,更多相關(guān)python文件夾分區(qū)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!