Försöker ersätta en parameter value i en fil.
Så här kan filen se ut:
Jag använder mig utav reg ex för att kolla vad parametern heter:
Och för value:
För tillfälle har jag det här:
Jag kan matcha asdf = xyz:Parameter med asdf.value = 3 då jag jämför första elementet i paramName med alla element i paramValue.
Vad jag har förstått så kan man använda sig av re.sub för att ersätta något befintligt med något annat. Men jag kan inte få det att fungera.
Så här kan filen se ut:
Kod:
asdf = xyz.Parameter; asdf.value = 3; xxx = xyz.Parameter; xxx.value = True; yyy = xyz.Parameter; yyy.value = 7;
Jag använder mig utav reg ex för att kolla vad parametern heter:
Kod:
paramName = re.compile(r'(\w+)(\W+)(xyz\.Parmeter)', re.MULTILINE)
Och för value:
Kod:
paramValue = re.compile(r'(\w+)(\.Value\W+)(\d+|\w+)', re.MULTILINE)
För tillfälle har jag det här:
Kod:
import re import string paramName = re.compile(r'(\w+)(\W+)(xyz\.Parmeter)', re.MULTILINE) paramValue = re.compile(r'(\w+)(\.Value\W+)(\d+|\w+)', re.MULTILINE) def xyz(): with open("file.txt", "r") as f: content = f.read() getParamNames = re.findall(paramName, getParamValues = re.findall(paramValue, content) param = [i[0] for i in getParamNames] ## Get first group value = [k[:] for k in getParamValues] ## Get all for x in param: print "\n", for y in value: print y if x in y: print "True" regEx = r'(\w+)(\.Value\W+)({})' ## <----- Här får jag problem a = re.sub(regEx, r'\1\2hej', y[2]) print a else: print "False" print xyz()
Jag kan matcha asdf = xyz:Parameter med asdf.value = 3 då jag jämför första elementet i paramName med alla element i paramValue.
Vad jag har förstått så kan man använda sig av re.sub för att ersätta något befintligt med något annat. Men jag kan inte få det att fungera.