나는 매개 변수가 임의의 순서가 있습니다 만, 한 줄에 하나의 매개 변수가 형태파이썬하려면 string.replace 정규 표현식
parameter-name parameter-value
의 매개 변수 파일이 있습니다. 한 매개 변수의 매개 변수 값을 새 값으로 바꾸려고합니다.
파이썬의 string.replace (pattern, subst)을 사용하는 줄을 바꾸려면 이전에 게시 한 줄 바꾸기 기능 (Search and replace a line in a file in Python)을 사용하고 있습니다. 예를 들어 vim에서 사용하는 정규식은 string.replace에서 작동하지 않습니다. interfaceOpDataFile 난 (대소 문자 구분을위한/I)를 교환하고있어, 새로운 매개 변수 값은 fileIn 변수의 내용 인 파라미터 이름이
line.replace("^.*interfaceOpDataFile.*$/i", "interfaceOpDataFile %s" % (fileIn))
을 : 여기에 사용하고 일반 식이다. 파이썬이이 정규식을 인식하도록하는 방법이 있습니까? 그렇지 않으면이 작업을 수행하는 다른 방법이 있습니까? 미리 감사드립니다.
으로 – pokero
이것을 작동 시키려면're.sub'의 마지막 인자로'flags = re.MULTILINE'을 넘겨 줘야합니다. [Read here for the docs here] (https : // docs .python.org/2/library/re.html # re.MULTILINE) – tobek
정규식 컴파일이 캐시됩니다 ([docs] (https://docs.python.org/3.6/library/re.html#re.compile)). 컴파일이 필요하지 않습니다. 그러나 보여 주듯이, 하나가 컴파일되면 루프 외부에서 컴파일하십시오. 'interfaceOpDataFile SomeDummyFile.txt' 내가로 교체하는 것이 좋습니다 : 'interfaceOpDataFile SomeUsefulFile 원본 파일 같은 것을 가지고 있기 때문에 – alttag