如何用Python为每个AVI视频文件创建同名专属文件夹?
为每个AVI视频创建同名文件夹的Python实现
问题
我有一个存放AVI格式视频文件的文件夹,希望为每个视频文件创建一个与该文件名同名的专属文件夹,请问能否通过Python实现这一需求?目前我已掌握为每个文件生成文件夹的方法,但在将文件夹命名为对应文件名这一步遇到了困难。
现有代码如下:
len_videos_folder = len(glob.glob('/content/drive/MyDrive/videos_folder/*.avi')) for x in range(len_videos_folder): pathlib.Path("/content/drive/MyDrive/frames_folder/folder%d" %x).mkdir(parents=True, exist_ok=True)
解决方案
当然可以实现,你的现有代码只是按序号生成文件夹,要关联到对应视频文件名,只需要调整逻辑,先获取每个AVI文件的路径,再提取文件名来命名文件夹。
改进后的完整代码
import glob from pathlib import Path # 视频文件所在文件夹 video_folder = '/content/drive/MyDrive/videos_folder/' # 要创建的同名文件夹的根目录 target_root = '/content/drive/MyDrive/frames_folder/' # 获取所有AVI格式文件的完整路径 avi_files = glob.glob(f"{video_folder}*.avi") for file_path in avi_files: # 提取不带扩展名的文件名 file_name = Path(file_path).stem # 拼接目标文件夹的完整路径 target_folder = Path(target_root) / file_name # 创建文件夹,自动处理上级目录和已存在的情况 target_folder.mkdir(parents=True, exist_ok=True)
关键说明
Path(file_path).stem:这是pathlib模块的便捷方法,直接提取文件名(不含后缀和路径),比如/content/drive/MyDrive/videos_folder/clip.avi会得到clip,精准解决文件名提取问题。- 遍历文件而非文件数量:原代码通过文件数量循环,无法关联具体文件;直接遍历
glob返回的文件路径列表,就能逐个对应处理每个视频。 - 安全路径拼接:用
Path对象的/操作符拼接路径,比字符串拼接更可靠,自动适配Windows/Linux的路径分隔符。
内容的提问来源于stack exchange,提问作者Nanda
相关产品推荐
相关产品推荐

