1

ある範囲の文字のみを受け取ることができるトークンを生成する必要があります。[a-zA-Z0-9_]

binascii.b2a_base64(os.urandom(64))+ などの他の文字があり、問題を引き起こしている で作業しようとしています。

出力整数を自分で一様に値にマップできるようにするための範囲は何ですか/dev/urandom(私はLinuxを使用しています)。

4

2 に答える 2

4

バイトを生成するため、0x00から0xFFまで。

于 2012-06-21T21:31:17.580 に答える
1

/dev/urandomランダムなバイトを提供するだけです。読み取ったすべてのバイトは から の範囲0255あり、できれば均一に分散されています。

現在の問題に対処する簡単な方法は、文字+=文字を除外することです。シェルでは... | tr -d += | .... 最もPythonicなアプローチはわかりませんが、これはうまくいくようです:

>>> import re
>>> re.sub(r'\+|=', '', "abcdef+=")
'abcdef'
于 2012-06-21T21:36:05.707 に答える