python 3.6 で secure に random string を生成する方法

python 3.6 には secrets というのが追加されていてこれを使うのが一番簡単です。
15.3. secrets — Generate secure random numbers for managing secrets — Python 3.6.4 documentation

もしもurl-safeな文字列を所望するのであれば、こんな感じ。

token = secrets.token_urlsafe(32)

tokenの生成などに気軽に使えるので便利です。

3.5以前だと、os.urandom もしくは random.SystemRandom などを使って生成してください。