このpython Shellを使用して文字列を生成します。
>>>':'.join("{:x}\n".format(random.randint(0, 2**16 - 1)) for i in range(4))
このシェルをPython2.7.5で実行すると、すべて問題ありません。しかし、それはValueError: zero length field name in format
when Pythonバージョンが2.6.6
。 Python version is 2.6.6
?
Pythonバージョン2.6以前では、フォーマットフィールドに明示的に番号を付ける必要があります。
':'.join("{0:x}\n".format(random.randint(0, 2**16 - 1)) for i in range(4))
# ^
これについては docs で読むことができます:
バージョン2.7で変更:位置引数指定子は省略できるため、
'{} {}'
は'{0} {1}'
と同等です。