"Karim Liateni" <karim.liat...@free.fr> wrote

It concatenates both parameters and include files with the same
parameters definitions. That trigs errors during simulation and
it complains about parameters double definition.

I'd suggest you construct a dictionary based on the param names
You can check before you add ca param if one already exists.
Or alternatively make a Set of param names and check that
for existence before adding a new one.

def copy(infile, outfile):
  """Copy of the content of an input file to an outputfile."""
  fout = open(outfile, 'w')
  fout.writelines(getLines(infile))
  fout.close()

Its probably easier tyo use shutil.copyfile()

def cat(lines, outfile):
  """Concat the content of a strings list to an outputfile."""
  f = open(outfile, 'w')
  f.writelines(lines)
  f.close()


def getLines(file):
  """Get the content of a file in a lines list form."""
  f = open(file, 'r')
  lines = f.readlines()
  f.close()
  return lines

I'm not sure these functions add enough value to ghave them. I';d probably just use

try: open(outfile,'w').writelines(lines)
except IOError: #handle error

try: lines = open(filename).readlines()
except IOError: #handle error

The close will be done automatically since you don't hold a reference to the file

def isParamExist(file, pattern, parameters):
"""Check if a particular regex pattern parameter is existing in a parameters file."""
  lines = getLines(file)
  paramExpressions = [ e for e in lines if pattern.search(e) ]
matchParam = [ e for e in paramExpressions if pattern.search(e).group(1) in parameters ]
  if matchParam:
    return True
  else:
    return False

return bool(matchParam) instead of the if/else


I am pretty sure that it can be simplify by using a dictionnary with the full path file as the key and the string 'include' nominal line expression as the value to construct the final file with filtered include.

I think dictionaries or Sets could improve things

I don't like the part:
 if matchParam:
    return True
  else:
    return False

See the note above.

HTH,

--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to