kenkovlog

けんこふたんっオフィシャユブヨグッ
アンッ!アンッ!アンッ!アンッ!

Python のformat の中括弧({}) のエスケープ

Python のformat を使う時に中括弧({}) をエスケープする方法について

例えば、正規表現を書きたい場合に

In [1]: '%s.%s.%s.\d{1,3}' % (192, 168, 0)
Out[1]: '192.168.0.\\d{1,3}'

という内容のことをformat を使って書きたい。

やりかた

\ ではエスケープ出来ない。括弧を重ねる({{ }}) ことでエスケープ出来る。

In [2]: r'{fx}.{mx}.{lx}.\d{{1,3}}'.format(fx=192,mx=168,lx=0)
Out[2]: '192.168.0.\\d{1,3}'
けんこふたん