需求: 
给定一个文件夹路径,遍历该文件夹内的所有文件以及子文件夹内的文件,当所有后缀名为wav格式的文件转换为ogg格式的文件.



  1. import os # 获取目录下的所有文件列表
  2. import fnmatch # 文件格式筛选模块,筛选指定格式文件
  3. #遍历
  4. def dirlist(path, allfile):
  5. filelist = os.listdir(path)
  6. for filename in filelist:
  7. filepath = os.path.join(path, filename)
  8. if os.path.isdir(filepath):
  9. dirlist(filepath, allfile)
  10. elif fnmatch.fnmatch(filepath,'*.wav'):#判断文件格式
  11. allfile.append(filepath)
  12. #allfile.append('\n')
  13. print('*'*40,filepath,'\n')
  14. return allfile

  15. #格式转换
  16. def RunScript(fileList) :
  17. print('hello world start:')
  18. readf = open("E:\\py\\readfilename.txt", 'w+') #输出所有读入的文件
  19. writef = open("E:\\py\\writefilename.txt", 'w+') #输出所有创建并写入的文件
  20. code = "ffmpeg -i "
  21. codeMid = " -acodec libvorbis "
  22. for filename in fileList:
  23. input = filename
  24. print('*'*40,'\n','Begin input = ',input,'\n')
  25. subname = input.split('.')
  26. output = subname[0] + ".ogg"
  27. finishcode = code + input + codeMid + output
  28. os.system(finishcode)
  29. print('End output = ',output,'\n')
  30. print(input,file=readf)
  31. print(output,file=writef)
  32. print('hello world end')
  33. #主程序运行
  34. if __name__ =='__main__':
  35. fff = open("E:\\py\\allfile.txt", 'w+')
  36. fileDir = r'G:\SVNworking\trunc\exe\resources\media\audio'
  37. allfile = []
  38. dirlist(fileDir,allfile)
  39. for name in allfile:
  40. print(name,file=fff)
  41. RunScript(allfile)

使用python+ffmpeg批量转换格式的更多相关文章

  1. ffmpeg 批量转换swf为mp3

    下了几个音乐居然都是swf格式,在网上找了一下没找到好用的转换工具,于是想到了ffmpeg. linux下可以直接安装ffmpeg #/bin/sh for f in *.swf do ffmpeg ...

  2. Sound Forge批量转换音频格式,实现高效编辑音频

    Sound Forge的批量处理功能可以实现批量格式转换.批量添加效果等功能,让用户可以在处理其他音频编辑任务的同时,自动完成格式转换.效果添加等重复性任务.接下来,一起来看看如何借助批处理转换器实现 ...

  3. java批量转换图片格式

    废话不多直接上代码,代码其实也不多.... package com.qiao.testImage; import java.awt.image.BufferedImage; import java.i ...

  4. C#使用FFmpeg 将视频格式转换成Gif图片示例

    根据EFmpeg封装的视频转换gif工具:https://my.oschina.net/tianma3798/blog/825317 一.本次使用参数说明 /* * 参数说明: * -i 源文件位置 ...

  5. python 将png图片格式转换生成gif动画

    先看知乎上面的一个连接 用Python写过哪些[脑洞大开]的小工具? https://www.zhihu.com/question/33646570/answer/157806339 这个哥们通过爬气 ...

  6. 使用Calibre自带工具批量转换电子书格式

    原来使用Calibre转换电子书格式都是先导入,再转换,再把转换后的文件复制出来,最后再改名. 虽然可以批量导入和转换,但复制和改名要一个处理.后来发现Calibre自带命令行转换工具,就写了一个批处 ...

  7. 使用VBA批量转换Excel格式,由.xls转换成.xlsx

    问题分析: Excel2007以前的格式是.xls,之后的格式是.xlsx.打开单独的一个Excel文档,使用“另存为”功能,可以很轻松的转换格式.但是面对几百个Excel表这样就太累了,搜索很久,也 ...

  8. 将psd格式批量转换成jpg或png格式(C#自制软件)

    此项目基于.net framework 4.0 将psd格式批量转换成jpg或png格式. 链接:https://pan.baidu.com/s/16IEjX0sHaY9H3Ah7mv6IPQ 提取码 ...

  9. 使用IMAGEMAGICK的CONVERT工具批量转换图片格式

    使用IMAGEMAGICK的CONVERT工具批量转换图片格式 http://www.qiansw.com/linux-imagemagick-convert-img.html Home > 文 ...

随机推荐

  1. L2Dwidget

    只需要在[页首html代码]中引入L2Dwidget.js即可.<!-- 右下角live2d效果 --> <script src="https://eqcn.ajz.mie ...

  2. WPF绑定のRelativeSource

    在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource. 这种办法的意思是指当前元素和绑定源的位置关系. 第一种关系: Self 举一个最简单的例子:在一个StackPanel ...

  3. Centos防火墙设置与端口开放

    前言 最近在部署项目的时候遇到了一些问题,阿里云主机要配置安全组策略和端口.对于这点看到了一片好的博文,特此总结记录下. iptables 方法一 打开某个端口 // 开启端口 iptables -A ...

  4. Ansible--02 ansible playbook的应用

    目录 Ansible playbook的应用 什么是playbook playbook的组成 playbook和Ad-Hoc对比 YAML语法 安装httpd练习 rsyncd实战 实战1: 实战2: ...

  5. 爬虫示例--requests-module

    reuqests_test .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { ...

  6. Spring 讲解(六)

    如何理解 Spring 中的 AOP 一.AOP 的概述 AOP(Aspect Oriented Programming):面向切面编程,通过预编译方式和运行期动态代理来实现程序功能的统一维护的一种技 ...

  7. css强制换行和超出部分隐藏实现

    一.强制换行 1 word-break: break-all; 只对英文起作用,以字母作为换行依据. 2 word-wrap: break-word; 只对英文起作用,以单词作为换行依据. 3 whi ...

  8. Halo(三)

    接口中可以定义方法 1. 定义静态方法(直接调用) public interface Test { public static void method() { /** * 1.定义一个静态的带有方法体 ...

  9. org.zkoss.zul.Filedownload.java 源码

    /* Filedownload.java Purpose: Description: History: Mon Apr 16 09:29:44 2007, Created by tomyeh Copy ...

  10. QTcpSocket发送结构体

    我需要发送的结构体 struct NetDataHeader_t { int nDataType; int nDataSize; }; struct NetDataBase_t { NetDataHe ...