に関する完全なチュートリアルまたはドキュメントはどこにありos.urandom
ますか? 80 文字の文字列から char を選択するには、ランダムな int を取得する必要があります。
24625 次
2 に答える
19
ランダムな整数だけが必要な場合はrandom.randint(a, b)
、 random モジュールから使用できます。
暗号化の目的で必要な場合はrandom.SystemRandom().randint(a, b)
、 を使用しos.urandom()
ます。
例
import random
r = random.SystemRandom()
s = "some string"
print(r.choice(s)) # print random character from the string
print(s[r.randrange(len(s))]) # same
于 2012-11-04T07:59:44.977 に答える
9
あまり話題になっていないかもしれませんが、検索エンジンからここに来る方の参考になれば幸いです。os.urandom
整数に変換するには、これを使用しています:
import os
rand = int(int(str(os.urandom(4), encoding="UTF-8")).encode('hex'), 16)
# You can then 'cycle' it against the length.
rand_char = chars_list[rand % 80] # or maybe '% len(chars_list)'
注:ここでのインデックスの範囲は、4 バイト整数の範囲までです。4
それ以上の値が必要な場合は、 をより大きな値に変更します。
アイデアはここから取られました: https://pythonadventures.wordpress.com/2013/10/04/generate-a-192-bit-random-number/
于 2015-03-07T12:53:21.580 に答える