需求: 
给定一个文件夹路径,遍历该文件夹内的所有文件以及子文件夹内的文件,当所有后缀名为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. go递归遍历文件目录

    package main import ( "fmt" "io/ioutil" "log" ) //文件目录树形结构节点 type dirT ...

  2. Python之计算当前月份的日期范围(calendar、datetime)

    在当前月份中循环每一天大致的思路就是先计算出当月的第一天和下个月的第一天日期,还有当月总共有多少天,然后把第一天日期按照月总天数累加到下个月的第一天,就ok 啦 from datetime impor ...

  3. ubunut 1804 sublime text3

    —– BEGIN LICENSE —– TwitterInc User License EA7E- 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A3708 ...

  4. C的基本数据类型小结

    代码 /** * 基本数据类型 */ #include <stdio.h> #include <limits.h> /* 定义 32 位时的 long 与 unsigned l ...

  5. html中a标签伪类的优先级与顺序

    /** 这四个伪类的优先级相同,前一个会覆盖后一个 建议书写顺序: lvha => love hate(好记) */ a:link { color: red; } a:visited { col ...

  6. 【转载】Elasticsearch--java操作之QueryBuilders构建搜索Query

    原文地址:https://www.cnblogs.com/pypua/articles/9459941.html package com.elasticsearch; import org.elast ...

  7. 【记录】解决前端form表单回车禁止刷新页面

    最近弄前端 有form表单的情况下 按回车会自动刷新当前页面. 现记录解决方案如下: 1.去掉表单 2.不要让表单中只有一个文本框(增加一个隐藏的文本框就行) 3.以上两点都不想使用,那么就还可以在表 ...

  8. 选择恐惧症的福音!教你认清MVC,MVP和MVVM(转:示例挺好,不太赞同画图)

    转自:http://zjutkz.net/2016/04/13/%E9%80%89%E6%8B%A9%E6%81%90%E6%83%A7%E7%97%87%E7%9A%84%E7%A6%8F%E9%9 ...

  9. 一次goldengate故障引发的操作系统hang起,HA自动切换

    现场: 跑着数据库的主机A报警应用连接不上数据库,我们无法ssh到主机.第一反应是通过telnet到远程控制口,发现数据库资源和硬件资源在被切换到HA架构的主机B(备机,通常性能比主机A的差,抗不住应 ...

  10. 生成token

    利用中间件生成token 1.安装中间件 npm install jsonwebtoken 2. 使用 Sign() 里面有3个参数,第一个是token里面传递的数据    ,第二个是 key ,第三 ...