私はUUIDのリストを検証し、バージョンを決定する必要があります。たとえば、h ttps://www.beautifyconverter.com/uuid-validator.phpを使用し、25CCCA6F-1568-473E-BFED-EC08C31532C6と入力すると、有効でバージョン4であると判断できます。https://www.snip2code.com/Snippet/12614/Validating-a-uuid4-with-Python-とHow to determine if a string is a valid v4 UUID?から、UUIDモジュールが一度に1つずつ検証できることがわかります。特定のバージョンですが、UUIDが4つのバージョンすべてをテストしてバージョンを返すかどうかはわかりません。UUIDのリストを検証する方法と返されるUUIDのバージョンは?
答えて
def validate_uuid4(uuid_string):
try:
val = UUID(uuid_string, version=4)
except ValueError:
# If it's a value error, then the string
# is not a valid hex code for a UUID.
return False
return True
あなたはUUIDの文字列のリストを通過すると、ここで有効なバージョン4 UUID
は私がオーバー反復だろうかであれば、それは、リスト内の特定の文字列があるかどうかがわかります上記の関数を使用することができます潜在的なUUIDのリストを取得し、バージョン番号(有効な場合)またはそれ以外の場合はNone
のパラレルリストを返します。
特に、UUID
コンストラクタは、任意のバージョンのUUID文字列を受け入れることに注意してください。文字列が有効な場合は、.version
メンバーに照会してバージョンを確認できます。
from uuid import UUID
def version_uuid(uuid):
try:
return UUID(uuid).version
except ValueError:
return None
def version_list(l):
return [version_uuid(uuid) for uuid in l]
if __name__=="__main__":
uuids = (
'0d14fbaa-8cd6-11e7-b2ed-28d244cd6e76',
'6fa459ea-ee8a-3ca4-894e-db77e160355e',
'16583cd3-8361-4fe6-a345-e1f546b86b74',
'886313e1-3b8a-5372-9b90-0c9aee199e5d',
'0d14fbaa-8cd6-11e7-b2ed-28d244cd6e7',
'6fa459ea-ee8a-3ca4-894e-db77e160355',
'16583cd3-8361-4fe6-a345-e1f546b86b7',
'886313e1-3b8a-5372-9b90-0c9aee199e5',
'481A8DE5-F0D1-E211-B425-E41F134196DA',
)
assert version_list(uuids) == [1,3,4,5,None,None,None,None,14]
興味深いですが、ひねりがあります。私がチェックしているリストには、481A8DE5-F0D1-E211-B425-E41F134196DAのいずれのフォーマットにも適合していないUUIDが含まれています。バージョンが正常な位置に "E"があることに注意してください。 – tpcolson
私のコード(正しく、私が主張する)は、そのUUIDのバージョン番号に対して14を返します。あなたは何の行動を期待しましたか? –
あなたのソリューションを試してみると、ブランクがあなたのサンプルデータと一緒に返されます。481A8DE5-F0D1-E211-B425-E41F134196DAをリストに追加すると、トレースバックに失敗します。 Python 2.7.13 64ビット – tpcolson
- 1. ラーバル検証でUUIDを検証する
- 2. EloquentモデルのUUID主キーはuuidとして格納されますが、0として返されます。
- 3. golangでuuidをカットする方法は?
- 4. postgresのUUIDを照会する方法
- 5. Java UUIDまたはQueryBuilder uuid
- 6. Python:有効なUUIDをStringからUUIDに変換する方法は?
- 7. UUIDの変換方法
- 8. ramsey/uuid - 名前ベースのハッシュを検証する名前をuuidに割り当てます
- 9. Android Bluetooth:検出されたデバイスのUUIDを取得する
- 10. DjangoでUUIDを使用する方法
- 11. boost :: uuids :: uuidをシリアライズする方法
- 12. ルビー/レールでUUID文字列を検証する
- 13. UUID
- 14. 私のアプリが必要とするUUIDを知る方法?
- 15. ブルートゥースサーバーとクライアントのUUID
- 16. laravel-uuid UUIDが記入されていません。
- 17. Sequelize - すべてのUUIDが含まれる場合UUID-Sのアレイによる
- 18. Jest:node-uuid(または他のインポートされたモジュール)をグローバルにモックする方法
- 19. golangで複数のuuidとmd5ファイルを生成する方法
- 20. データベースで生成されたDjangoとuuid
- 21. reactnativeのUUIDの作成方法
- 22. ESLから実行されるアプリケーションのアプリケーションUUIDを設定する方法
- 23. JavaScript:Internet Explorer 9のUUIDを生成する方法は?
- 24. PHPで電話のUUIDを取得する方法は?
- 25. MacでUSBデバイスのUUIDを取得する方法は?
- 26. コンバートUUID、(b)は
- 27. MySQLはどのバージョンのUUIDを使用しますか?
- 28. プレイフレームワークのUUID
- 29. iosデバイスのUUID
- 30. のRails + UUID +イーガーロード
あなたは最も難しい部分に対処しました。次に、Pythonでどのようにループするかを調べて、 'uuid'検証関数の真のブール値が見つかったらループから抜け出す。 – Niloct