특정 문자열을 해당 문자열로 바꾸거나 추가하는 Python 스크립트를 작성 중입니다.
실제 문자열:
Name = "com.icon.t2p"
Object = "/com/icon/t2p/host"
예상 출력:
Name = "com.icon.rma"
Object = "/com/icon/rma/Objectname/host"
현재 출력:
Name = "com.icon.rma"
Object = "/com/icon.rma/host"
Python 스크립트에서 다음을 실행합니다.
cmdStr="sed -i 's/com.icon.t2p/com.icon.rma/g' /local/run.ini"
subprocess.call(cmdStr,shell=True)
cmdStr="sed -i 's/Object=\/com\/icon\/t2p\/host/Object=\/com\/icon\/rma\/Objectname\/host/g' /local/run.ini"
subprocess.call(cmdStr,shell=True)
객체명 추가가 되지 않아서 제가 실수를 한 것 같습니다.
이 문제를 해결할 방법이 있나요?
답변1
Python bash 텍스트 편집 도구에서 호출하는 것은 쓸모가 없습니다.
Name = Name.rsplit('.', 1)
Object = Object.split('/')
Name[1] = Object[2] = "rma"
Object.insert(3, "Objectname")
Name = '.'.join(Name)
Object = '/'.join(Object)
--
Name = Name.replace('t2p', 'rma')
Object = Object.replace('t2p', 'rma/Objectname')