Thomas K�llmann wrote:
Hi, everybody!
I'm teaching myself Python, and I have no experience in programming apart from some years of shell scripting. So, please bear with me.
These two funktions are part of an administrative script I've set myself as a first lesson, and, as you will see, they're practically the same, except for one variable. So I'd like to weld them together -- but I can't find out how to.
Pass the variable as an argument probably.
But because generally you wouldn't want to recompile the regexp (this should be done once), you could say:
# untested
def makewriter (regexp_string):
def writeFunc(ip, regex=re.compile(regexp_string)):
confFile = open(networkConf, 'r')
conf = confFile.readlines()
confFile.close
for line in conf:
if regex.search(line):
addressLine = line
addressLineNum = conf.index(addressLine)
address = string.split(addressLine, ' ')
address[1] = ip + "\n"
conf[addressLineNum] = string.join(address)
confFile = open(networkConf, 'w')
confFile.writelines(conf)
confFile.close
return writeFuncwriteIP=makewriter('(.*)address(.*)')
writeMask=makewriter('(.*)netmask(.*)')This is rather advanced python programming though, but it shows cool dynamic function creation features and it's never early to get into it;)
jfj
-- http://mail.python.org/mailman/listinfo/python-list
