批量处理文件的Python程序

经常批量处理文件,这里有个python的模板,保存一下

这个例子是把目录里面所有子目录的mp3文件放慢0.85倍并保存到./processed/目录下面。

 

#coding=utf-8
import sys,os ,shutil
import struct
import glob
import time
import subprocess


def slow(file_name,to_file):
    command='ffmpeg -i {} -af atempo=0.85 {} '.format(file_name,to_file)
    print(command)
    os.system(command)

def process_file(file_name,dest_node):
    if not file_name.endswith('.mp3'):
        return;
    slow(file_name,dest_node)

def process_dir(folder):
    for sub_node in glob.glob ( folder+'/*' ):
        dest_node=sub_node.replace(node,"../processed/")
        if os.path.isdir(sub_node):
            if not os.path.isdir(dest_node):
                os.mkdir(dest_node)
            process_dir(sub_node)
        else:
            process_file(sub_node,dest_node)

node=sys.argv[1]
if os.path.isdir(node):
    process_dir(node)
    for pcm_file in glob.glob ( node+'/*' ):
        process_file(pcm_file)
if os.path.isfile(node):
    with open(node, 'r') as file_to_read:
        for line in file_to_read.readlines():
            process_file(line)

 

posted @ 2020-02-01 15:26  shinedream  阅读(494)  评论(0编辑  收藏  举报