[Tutor] batch file processing w/ python using cmd line executable?
kevin parks
kp8 at mac.com
Fri Feb 12 17:22:42 CET 2010
hi
I am new territory here and not even sure where to start poking around
other than the os module some.
Essentially i need to do something like a shell script for batch
processing gobs of files. I am trying to use a command line tool (sox,
an open source sound file converter that runs from the unix command
line) and I don't want to edit the command line, run the job, edit the
command line, etc over and over again for hundreds of small files.
I wonder if it is possible to use python to call sox and have it do
os.mkdir, process all the input files in a particular directory and
put the converted files into the directory it made with mkdir...
so if i had
kp/flute/ST
kp8/flute/ST/foo01.aif
kp8/flute/ST/foo02.aif
kp8/flute/ST/foo03.aif
kp8/flute/ST/foo04.aif
kp8/flute/ST/foo05.aif
The script would call sox repeatedly and create a new dir with a
converted file for each found in the original folder. like so:
kp/flute/STout/
kp/flute/STout/foo01.wav
kp/flute/STout/foo02.wav
kp/flute/STout/foo03.wav
kp/flute/STout/foo04.wav
kp/flute/STout/foo05.wav
what makes this especially hairy is that sox is a monster an typically
needs a crazy number of arguments, though these would be the same for
the whole batch. A typical command line call i need to make to, say,
batch convert files from one sample rate and bit depth to another
would look like so:
% sox -V3 -D -S St.01.aif -b16 kp/flute/STout/St.01.wav rate -s -v
44100
Is there away to do this in python, by just pointing it to a whole dir
of files and say "do it" to all of these?
cheers,
kevin
More information about the Tutor
mailing list