On Mon, 4 Oct 2010 06:44:54 am Norman Khine wrote: > hello, from the docs http://docs.python.org/library/subprocess.html i > see there is a WARNING about deadlock when using the subprocess.call. > in my code i have this > > http://pastie.org/1197024
The warning says: Like Popen.wait(), this will deadlock when using stdout=PIPE and/or stderr=PIPE and the child process generates enough output to a pipe such that it blocks waiting for the OS pipe buffer to accept more data. Since you don't set either stdout or stderr to PIPE, you shouldn't have to worry about a deadlock. > the first calls the 'sox' library which joins all the .wav files into > one file and then i use the 'wav2swf' library to create a SWF output > of the file. > > can the code be improved? Code can always be improved :-) What do you consider an improvement? Easy to maintain in the future? Faster? Smaller? What does get_abspath do? It sounds like it *may* be your own version of os.path.abspath. I'm not sure why you have a list called "imgtext" that doesn't contain text. It seems to be a list of partial file names rather than "image text". Your code, as given, can't work, because you call isupper() on integers 1 2 and 3. That will fail. I'd probably prefer to generate the filenames differently: def fix_filename(fname, base=sound_path): fname = str(fname) if fname.isupper(): fname = "upper_%s" % fname.lower() return os.path.join(base, fname + '.wav') and then call it: filenames = ['A', 'b', 'c', 'D', 1, 2, 3] for name in filenames: name = fix_filename(name) sox_filenames.append(name) -- Steven D'Aprano _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor