"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