有很多个视频文件夹:
要全部转成音频,然后复制到另一个文件夹。
在ChatGPT中输入如下提示词:
你是一个Python编程专家,要完成一个批量将Mp4视频转为Mp3音频的任务,具体步骤如下:
打开文件夹:E:\待转换视频;
逐一打开其中的子文件夹,找到子文件夹中所有的mp4视频文件;
用moviepy库将mp4视频文件转为mp3音频文件;
转换完成后,删除掉原先的mp4视频文件;
当一个子文件夹中的mp4视频全部转换成mp3后,将这个子文件夹复制到这个文件夹里面:”F:\儿童学习教育\level02 AR1.2-1.9”
注意:每一步都要输出相关信息
每一行代码都要给出详细的注释
生成的源代码如下:
import os
from moviepy.editor import AudioFileClip
import shutil
# 设置源文件夹和目标文件夹路径
source_dir = 'E:/待转换视频'
target_dir = 'F:/儿童学习教育/level02 AR1.2-1.9'
# 遍历源文件夹下的所有子文件夹
for folder_name in os.listdir(source_dir):
folder_path = os.path.join(source_dir, folder_name)
# 确保是文件夹
if os.path.isdir(folder_path):
print(f'正在处理文件夹: {folder_path}')
# 遍历文件夹中的所有文件
for file_name in os.listdir(folder_path):
# 确保是 MP4 文件
if file_name.endswith('.mp4'):
file_path = os.path.join(folder_path, file_name)
print(f'正在转换视频文件: {file_path}')
# 使用 moviepy 库将 MP4 视频文件转为 MP3 音频文件
audio = AudioFileClip(file_path)
audio.write_audiofile(file_path.replace('.mp4', '.mp3'))
print(f'转换完成: {file_path.replace(".mp4", ".mp3")}')
# 删除原始 MP4 文件
os.remove(file_path)
print(f'已删除原始视频文件: {file_path}')
# 将处理完成的子文件夹复制到目标文件夹
shutil.copytree(folder_path, os.path.join(target_dir, folder_name))
print(f'已将文件夹复制到: {os.path.join(target_dir, folder_name)}')