My First OO in Python
This job is associated my previous blogs,
this,
this and
this.
The difference is I am converting portion of it to OO in Python.
The input files are two mapping files namely the sitename mapping to Address and sitename mapping to ID. The main loop will go through every record in the input file and substitute the sitename with the mapping.
#! /usr/bin/python import sys if len(sys.argv) != 2: print "Usage: %s <file>" % sys.argv[0] exit(1) class Map: def __init__(self,mapfile,sep): import os self.mapfile=mapfile self.sep=sep self.mapping={} for line in open(self.mapfile,'r'): line=line.rstrip() [k,v]=line.split(self.sep,1) self.mapping[k]=v def getValue(self,k): try: v=self.mapping[k] except: v='' return v key2add=Map('sitename-address-mapping.txt',':') key2id=Map('sitename-id-mapping.txt',':') for line in open(sys.argv[1],'r'): key=line.rstrip() print "%s\t%s\t%s" % (key, key2id.getValue(key), key2add.getValue(key))
It is a lot cleaner in OO than the procedural way in Tcl, but it requires more planning upfront. I am definitely looking for more opportunities to do things in OO
Labels: python
0 Comments:
Post a Comment
<< Home