1

モジュールから long int を表す文字列を受け取ります

>>> str = hex(5L)
>>> str
'0x5L'

私が今欲しいのは、文字列 str を数値 (整数) に戻すことです。

int(str,16) は L のために機能しません。

文字列から最後の L を削除せずにこれを行う方法はありますか? 文字列に L ? のない 16 進数が含まれている可能性もあるからです。

4

2 に答える 2

5

使用しstr.rstripます。どちらの場合にも機能します。

>>> int('0x5L'.rstrip('L'),16)
5
>>> int('0x5'.rstrip('L'),16)
5

または、次の方法で文字列を生成します。

>>> s = '{:#x}'.format(5L)  # remove '#' if you don' want '0x'
>>> s
'0x5'
>>> int(s, 16)
5
于 2013-06-26T09:45:25.263 に答える