モジュールから long int を表す文字列を受け取ります
>>> str = hex(5L)
>>> str
'0x5L'
私が今欲しいのは、文字列 str を数値 (整数) に戻すことです。
int(str,16) は L のために機能しません。
文字列から最後の L を削除せずにこれを行う方法はありますか? 文字列に L ? のない 16 進数が含まれている可能性もあるからです。
モジュールから long int を表す文字列を受け取ります
>>> str = hex(5L)
>>> str
'0x5L'
私が今欲しいのは、文字列 str を数値 (整数) に戻すことです。
int(str,16) は L のために機能しません。
文字列から最後の L を削除せずにこれを行う方法はありますか? 文字列に L ? のない 16 進数が含まれている可能性もあるからです。
使用し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