2016-06-24 22 views

答えて

0

%"が間違っているのと同様に、%(x)"が間違っています。あなたはほんの少しsことを追加する必要があります。

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

その手紙は、それが通常のフォーマットに必要とされているのと同じ理由のために必要とされます。これまで通り、d03dfなども使用できます。

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:変換指定子は、この順序で発生しなければならない次のコンポーネントを、二つ以上の文字が含まれていると持っている

  1. の開始をマーク'%'文字、指定子。
  2. マッピングキー(オプション)。カッコで囲まれた文字列(たとえば、(somename))で構成されます。
  3. 変換フラグ(オプション)。一部の変換タイプの結果に影響します。
  4. 最小フィールド幅(オプション)。 '*'(アスタリスク)で指定すると、実際の幅はタプルの次の要素から値で読み込まれ、変換するオブジェクトは最小のフィールド幅とオプションの精度の後になります。
  5. 精度(オプション)。'.'(ドット)の後に精度を指定します。 '*'(アスタリスク)と指定すると、タプルの次の要素から実際の幅が読み取られ、変換される値は精度の後になります。
  6. 長さ変更子(オプション)。
  7. 変換タイプ。

あなたが%sを使用したのと同様に、あなたが%(x)sを使用する必要があります(オプションである)項目1と2を与えたが、省略項目7.

関連する問題