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
Exemple #2
0
               {'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'