PythonでURLセーフなUUID(ランダム文字列)を生成する | ジコログ

PythonでURLセーフなUUID(ランダム文字列)を生成する

PythonでURLセーフなUUID(ランダム文字列)を生成する プログラミング

「Pythonでランダムな文字列を生成したい」
「URLにUUIDをクエリ文字列として使いたい」

このような場合には、shortuuidがオススメです。
この記事では、URLセーフなUUIDを生成できるshortuuidについて解説しています。

本記事の内容

  • shortuuidとは?
  • shortuuidのシステム要件
  • shortuuidのインストール
  • shortuuidの動作確認

それでは、上記に沿って解説していきます。

shortuuidとは?

shortuuidとは、URLセーフなUUIDを生成するシンプルなPythonライブラリです。
UUIDは、16進法によるa0b325e4-6d04-4d96-a57e-8021afe12970のような文字列のことを言います。

UUIDは、一意になることを保証された識別子です。
でも、そのままだとUUIDは長くて使いにくいと思いませんか?

何よりも、クエリ文字列にそのままでは利用することができません。
これは、結構致命的なデメリットと言えます。

そんなUUIDを短くしてURLセーフにできるのが、shortuuidということです。
shortuuidを使えば、22桁の文字列に変換できます。

もちろん、一意であることも担保したままです。
shortuuidを使えば、もう自分でランダムな文字列を生成する必要がありません。

以上、shortuuidについて説明しました。
次は、shortuuidのシステム要件を説明します。

shortuuidのシステム要件

現時点(2022年9月)でのshortuuidの最新バージョンは、1.0.9となります。
この最新バージョンは、2022年5月8日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

shortuuidは、Pure PythonであるためにOSは問いません。
サポート対象となるPythonのバージョンは、以下。

  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10
  • Python 3.11

Python 3.11とは、少々気が早いですね。
Python公式開発サイクルは、以下。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

Python 3.6のサポート期限が終了していることには、注意しましょう。

ここまでを見る限り、shortuuidのシステム要件はあってないようなモノです。
Python 3.7以降であれば、OS問わずに動くでしょうね。

以上、shortuuidのシステム要件を説明しました。
次は、shortuuidのインストールを説明します。

shortuuidのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

まずは、現状のインストール済みパッケージを確認しておきます。

$ pip list
Package    Version
---------- -------
pip        22.2.2
setuptools 65.3.0
wheel      0.36.2

次にするべきことは、pipとsetuptoolsの更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip setuptools

では、shortuuidのインストールです。
shortuuidのインストールは、以下のコマンドとなります。

pip install shortuuid

shortuuidのインストールは、一瞬で終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package    Version
---------- -------
pip        22.2.2
setuptools 65.3.0
shortuuid  1.0.9
wheel      0.36.2

shortuuidが依存するパッケージは、ありません。
その意味では、既存の環境にも容易に導入できそうです。

以上、shortuuidのインストールを説明しました。
次は、shortuuidの動作確認を説明します。

shortuuidの動作確認

shortuuidの動作確認を行いましょう。
動作確認には、次のコードを用います。

import shortuuid
import uuid

u = uuid.uuid4()
print(u)

s = shortuuid.encode(u)
print(s)

上記コードを実行すると、次のような文字列が表示されます。
もちろん、実行ごとに値は変わります。

a0b325e4-6d04-4d96-a57e-8021afe12970
Wbk4aXNgLFy6pNQyynte3w

最初の文字列は、UUIDです。
UUIDは、Pythonの標準ライブラリであるuuidを利用して取得できます。

この長たらしいUUIDを短くして、URLセーフに変換するのがshortuuidです。
shortuuidを用いて、22桁の文字列に変換できています。

上記コードでも一意の文字列は、取得できます。
ただ、もっと短いコードで済ますことが可能です。
そのコードは、以下。

import shortuuid

s = shortuuid.uuid()
print(s)

上記コードを実行した結果は、以下となります。

oUJSznSSMdkTRojwzMGFAJ

shortuuidを用いれば、一意の文字列が簡単に取得できます。
もう、randomでランダムな文字列を自作する必要がありません。

以上、shortuuidの動作確認を説明しました。

タイトルとURLをコピーしました