2011-11-30 2 views
10

可能性の重複周りリテラル中括弧を印刷することができます:基本的に、私は.formatを使用したい
How can I print a literal “{}” characters in python string and also use .format on it?どのように私は().formatを使用して文字列を印刷し、そして私の置き換え文字列

()、このような:

my_string = '{{0}:{1}}'.format('hello', 'bonjour') 

そして、それが一致してい:

my_string = '{hello:bonjour}' #this is a string with literal curly brackets 

ただし、コードの最初の部分はエラーです。

私はPythonを使ってテキストベースのコマンドでソフトウェアと通信しているので、中括弧は重要です。私はfosoftwareがどのようなフォーマットを期待しているかについては何の支配もしていないので、すべての書式を私の目の前で整理することが重要です。文字列の中のスペースが、複数の引数ではなく単一の文字列として解釈されることを保証するために、文字列の中括弧を使用します。私は現在、古い方法で使用してい

:確かに動作します

my_string = '{%s:%s}' % ('hello', 'bonjour') 

が、.format()は読みやすいようだ、と私は1つの文字列内のすべての5つの以上の変数にコマンドを送信していたときに読みやすさは重要な問題になります。

ありがとうございます!ここで

+1

使用「{ {{0}:{1}}} "(double {{)http://stackoverflow.com/questions/5466451/how-can-i-print-a-literal-characters-in-python-string-and-使い方形式 –

+0

うん、その質問の複製。 –

答えて

20

は新しいスタイルです:

>>> '{{{0}:{1}}}'.format('hello', 'bonjour') 
'{hello:bonjour}' 

しかし、私はエスケープを考えては読みやや難しいですので、私はエスケープを避けるために戻って、古いスタイルに切り替えることを好む:

>>> '{%s:%s}' % ('hello', 'bonjour') 
'{hello:bonjour}' 
関連する問題