如何为拥有多个视频的TikTok创作者批量创建子文件夹并整理视频?
解决方案
你已经完成了创作者名称的提取,接下来只需完成统计创作者视频数量、创建专属文件夹、移动对应视频这三个核心步骤,具体实现代码和说明如下:
步骤1:统计每个创作者的视频列表
先用字典统计每个创作者对应的所有视频文件,方便后续判断数量和批量操作:
import glob import os import shutil # 目标文件夹路径 target_dir = 'C:\\Users\\name\\Downloads\\sample test' files = glob.glob(os.path.join(target_dir, '*.mp4')) # 用字典统计每个创作者的视频文件 creator_files = {} for file in files: # 提取创作者名称(复用你原有的逻辑) creator_name = file.split("@")[1].split("_")[0] # 将文件添加到对应创作者的列表中 if creator_name not in creator_files: creator_files[creator_name] = [] creator_files[creator_name].append(file)
步骤2:创建文件夹并移动视频
遍历统计好的字典,仅处理视频数量大于1的创作者:
for creator, file_list in creator_files.items(): # 只处理拥有1个以上视频的创作者 if len(file_list) > 1: # 构建创作者专属文件夹路径 creator_folder = os.path.join(target_dir, creator) # 文件夹不存在则创建,避免重复创建报错 if not os.path.exists(creator_folder): os.makedirs(creator_folder) # 逐个移动视频到专属文件夹 for file in file_list: # 提取纯文件名,避免路径拼接出错 file_name = os.path.basename(file) dest_path = os.path.join(creator_folder, file_name) # 执行移动操作 shutil.move(file, dest_path)
补充说明
shutil是Python标准库,无需额外安装,用于处理文件移动/复制- 若想保留原文件(改为复制而非移动),可将
shutil.move替换为shutil.copy2,该方法会保留文件的元数据(如创建时间) - 代码中加入了文件夹存在性判断,避免重复创建时抛出异常
内容的提问来源于stack exchange,提问作者Tab
相关产品推荐
相关产品推荐

