目录
脚本作用
寻找特定suffix文件,并增加info标签
输入location_time.suffix
输出location_time_nfo.suffix
python代码
import os
os.system('echo $PATH')
import logging
import sys
from datetime import datetime
#we can change the audio info in cmd
#default wav info:sample_rate=16000 depth=16bits channels=1
logging.basicConfig(level=logging.ERROR,filename='addfileinfo.log')
def get_filelist(in_dir,suffix='all'):
"""get specific type file list.
"""
wav_list=[];
for root,dirs,files in os.walk(in_dir):
for f in files:
if 'all'==suffix:
wav_list.append(os.path.abspath(os.path.join(root,f)))
else:
if suffix==os.path.splitext(f)[-1].strip().lstrip('.'):
wav_list.append(os.path.abspath(os.path.join(root,f)))
return wav_list
def addfileinfo(in_dir,pos,info,suffix='all'):
"""add extern info for 'a_b_c.suffix' type file name.
if pos=2 ,out is 'a_b_info_c.suffix'.
"""
wav_list=get_filelist(in_dir,suffix)
pos=int(pos)
for f in wav_list:
name_list=os.path.splitext(os.path.basename(f))[0].split('_')
name_list.insert(pos,info)
new_name='_'.join(name_list)
fo=os.path.join(os.path.dirname(f),''.join([new_name,os.path.splitext(f)[-1]]))
try:
os.rename(f,fo)
except:
logging.error("Fail to extrect %s from %s !"%(fo,f))
continue
else:
logging.info("Extrect %s from %s successfully!"%(fo,f))
print fo
if __name__=='__main__':
if (len(sys.argv)<4):
print('''
usage:%s rename all the wav file in given dir
arg[1]:
input wav file dir
arg[2]:
pos
arg[3]:
info
arg[4](option):
suffix
'''%sys.argv[0])
if len(sys.argv)==4:
addfileinfo(sys.argv[1],sys.argv[2],sys.argv[3])
if len(sys.argv)==5:
addfileinfo(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4])