2010-06-03 8 views
2

,문자열을 구문 분석하고 그 값으로 바꾸는 가장 좋은 방법은 무엇입니까? 내가 좋아하는 캐릭터 라인을 가질 수있다

"""Hello, %(name)s, 
how are you today, 
here is amount needed: %(partner_id.account_id.debit_amount)d 
""" 
내가, 입력 문자열이 $partner_id.account_id.debit_amount$처럼 다를 수 있습니다 정규 표현식과 eval을 결합해야합니다 같은 템플릿에 대한 최적의 솔루션이 될 것입니다 무슨

- 나는 파이썬로 유지 한 순간 문자열 형식 - 테스트 용.

+1

이 이전 질문에서 설명한대로 자신의 코드를 수동으로 롤링하는 대신 템플릿 엔진을 사용하는 것이 좋습니다. http://stackoverflow.com/questions/2839513/how-to-include-a-dynamic-page-contents -into-a-template –

답변

0

정교한 템플릿 작업을 수행하려는 경우 Jinja과 같은 고급 템플릿 엔진을 사용해보십시오. 다른 것들도 많이 있습니다.

2

파이썬은 파이썬 2.6과 3.0의 문자열에 새로운 .format() 메소드를 구현했습니다. 이 PEP를 체크 아웃 : http://www.python.org/dev/peps/pep-3101/

그것은 더 강력하고 % 연산자보다 유연하고 파이썬에 내장되어 있습니다 : 여기

는 PEP에서 몇 가지 예입니다 : 그것은 충분히있을 수 있습니다

"My name is {0}".format('Fred') 
"My name is {0.name}".format(open('out.txt', 'w')) 
"My name is {0[name]}".format({'name':'Fred'}) 

당신의 필요한 경우, 그렇지 않다면 진자와 같은 템플릿 엔진을 살펴보십시오.

1

간단한 것을 찾고 있다면 Python's builtin Template.을 사용해보십시오. 추가 패키지 설치의 오버 헤드없이 빠르고 쉽게 템플리트를 만들기 위해 꽤 많이 사용합니다.

또한 새로운 format() 방법이 있습니다.

+0

좋아하는 템플릿 엔진 질문이 삭제되었습니다. ( –

+0

Ben이 (가) 헤드 업에 감사드립니다. 링크를 삭제했습니다. – chauncey

관련 문제