def multiple_outFiles (inFiles, outFile): """ Given a list of input file names and a 'template' (e.g. extension) for the output files, return a list of output file names. """ if outFile: if len(inFiles)>1: if not outFile.startswith('.'): outFile='.'+outFile # -o option specifies extension of output files commonExt = commonExtension(inFiles) print 'commonExt:', commonExt # replace extension only when all input files have the same extension if commonExt: outFiles = [os.path.splitext(file)[0]+outFile for file in inFiles] else: outFiles = [file+outFile for file in inFiles] else: if outFile.startswith('.'): return [os.path.splitext(inFiles[0])[0]+outFile] # do not write to a hidden file! else: return [outFile] else: outFiles = [None for file in inFiles] return outFiles
{'ID': 'W', 'name': 'nWidths', 'type': FloatType, 'default': 25.0,'constraint': 'nWidths>2.0'}, {'ID': 'r', 'name': 'flipUpDown'}, {'ID': 'y', 'name': 'yOnly'}, {'ID': 'plot'}, {'ID': 'nm', 'name': 'nanometer'}, {'ID': 'v', 'name': 'verbose'} ] inFiles, options, commentChar, outFile = parse_command (opts,(2,99)) if options.has_key('h'): print __doc__%globals(); raise SystemExit, " end of lbl2od help" # translate some options to boolean flags for key in ['yOnly', 'nanometer', 'plot', 'flipUpDown', 'verbose']: options[key] = options.has_key(key) if commonExtension(inFiles): print '\nWARNING: all input files have the same extension, first file probably NOT an atmospheric data file!!!\n' # unpack list of input files atmFile, lineFiles = inFiles[0], inFiles[1:] # optionally already import module used at very end (check availablity of netcdf before starting a lengthy job) if outFile and os.path.splitext(outFile)[1].lower() in ('.nc', '.ncdf', '.netcdf'): try: from Scientific.IO.NetCDF import * except ImportError: print 'INFO: import Scientific.IO.NetCDF failed, trying pynetcdf' try: from pynetcdf import * except ImportError: raise SystemExit, 'import "pynetcdf" failed, cannot find module!' else: print 'INFO: import pynetcdf'