2016-06-24 3 views

답변

0

그냥 당신이 %(x)s를 사용해야 생략. %"이 잘못된 것처럼 %(x)"이 잘못되었습니다. 당신은 작은 s 것을 추가해야합니다

'%(x)s"%(y)s' % {'x': 1, 'y':2} 

그 편지는 정상 서식이 필요합니다 같은 이유로 필요합니다. 예전과 마찬가지로 d, 03d, f 등을 사용할 수도 있습니다.

3

:와

'%(x)"%(y)' % {'x': 1, 'y':2} 

Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ValueError: unsupported format character '"' (0x22) at index 4 

그것은 작동합니다. 구문은 %(key)conversiontype입니다. 변환 유형을 나타내는 문자가 없으면 파서가 다음 문자를 선택하고 그 문자열에 "이 있습니다. 에서

string formatting operations documentation : A 변환 지정이 순서로 발생해야하는 다음과 같은 구성 요소가 두 개 이상의 문자를 포함하고있다

:

  1. 의 시작이되는이 '%' 문자, 지정자.
  2. 괄호 안의 문자 시퀀스 (예 : (somename))로 구성된 매핑 키 (선택 사항)입니다.
  3. 일부 변환 유형의 결과에 영향을주는 변환 플래그 (선택 사항).
  4. 최소 필드 폭 (옵션). '*' (별표)로 지정하면 실제 너비는 값의 튜플의 다음 요소에서 읽히고 변환 할 개체는 최소 필드 너비와 선택적 정밀도 뒤에옵니다.
  5. 정밀도 (선택 사항) '.' (점)과 그 뒤에 오는 정밀도로 표시됩니다. '*' (별표)으로 지정하면 튜플의 다음 요소에서 값의 실제 너비가 읽히고 변환 할 값은 정밀도 뒤에옵니다.
  6. 길이 수정 기호 (선택 사항).
  7. 변환 유형입니다.

당신은 (선택 사항입니다) 항목 1과 2를 주었지만 항목이 %s를 사용 7.

관련 문제