用python写一个程序枚举某目录下以及子目录下所有avi文件并调用ffmpeg将相应的avi文件转换为名称相同的mp4文件。转换完成后删除相应的avi文件
你可以使用os模块来遍历目录和文件,并使用subprocess模块来调用ffmpeg进行转换和删除操作。以下是一个示例代码:
import os
import subprocess
# 遍历目录及子目录下的所有avi文件
def get_avi_files(dir_path):
avi_files = []
for root, dirs, files in os.walk(dir_path):
for file in files:
if file.endswith(".avi"):
avi_files.append(os.path.join(root, file))
return avi_files
# 调用ffmpeg进行avi转换为mp4
def convert_to_mp4(avi_file):
mp4_file = avi_file[:-4] + ".mp4"
subprocess.run(["ffmpeg", "-i", avi_file, mp4_file])
return mp4_file
# 删除原始avi文件
def delete_avi_file(avi_file):
os.remove(avi_file)
# 主函数
def main():
dir_path = "/path/to/directory" # 替换为你的目录路径
avi_files = get_avi_files(dir_path)
for avi_file in avi_files:
mp4_file = convert_to_mp4(avi_file)
delete_avi_file(avi_file)
print(f"{avi_file} 转换为 {mp4_file} 并删除")
if __name__ == "__main__":
main()
请注意替换/path/to/directory为你要处理的目录路径。运行此程序将遍历该目录及其子目录下的所有avi文件,将其转换为同名的mp4文件,并删除原始的avi文件
原文地址: https://www.cveoy.top/t/topic/i06v 著作权归作者所有。请勿转载和采集!