欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python生成并處理uuid的實現方式

 更新時間:2020年03月03日 10:04:30   作者:魔鏡之戀  
這篇文章主要介紹了python生成并處理uuid的實現方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

UUID(Universally Unique Identifier)是通用唯一識別碼,在許多領域用作標識,比如我們常用的數據庫也可以用它來作為主鍵,原理上它是可以對任何東西進行唯一的編碼的。

作為新手一看到類似varchar(40)這樣的主鍵就覺得有點蒙圈了,字符串型也不能自增啊,這里就應該應用UUID了。

數據庫一般都有自己的辦法生成UUID,但雖然可以用,但這玩意考慮到可讀性和有點坑的長度還是盡量不要用這玩意做主鍵···咳,有點跑題···

下面就簡單說明一下python是如何生成UUID的:

python有一個模塊叫做uuid,導入它就可以使用它的四個方法了。注意這四個方法依次是uuid1(),uuid3(),uuid4(),uuid5(),

然而并沒有uuid2()。

# -*- coding:utf-8 -*-
import uuid
 
print uuid.uuid1()
#bf1dfacf-67d8-11e8-9a23-408d5c985711
print uuid.uuid3(uuid.NAMESPACE_DNS, 'yuanlin')
#ddb366f5-d4bc-3a20-ac68-e13c0560058f
print uuid.uuid4()
#144d622b-e83a-40ea-8ca1-66af8a86261c
print uuid.uuid5(uuid.NAMESPACE_DNS, 'yuanlin')
#4a47c18d-037a-5df6-9e12-20b643c334d3

乍一看全都是36個字符,那么他們到底有什么不同呢,下面一一分析。

uuid1():這個是根據當前的時間戳和MAC地址生成的,最后的12個字符408d5c985711對應的就是MAC地址,因為是MAC地址,那么唯一性應該不用說了。但是生成后暴露了MAC地址這就很不好了。

uuid3():里面的namespace和具體的字符串都是我們指定的,然后呢···應該是通過MD5生成的,這個我們也很少用到,莫名其妙的感覺。

uuid4():這是基于隨機數的uuid,既然是隨機就有可能真的遇到相同的,但這就像中獎似的,幾率超小,因為是隨機而且使用還方便,所以使用這個的還是比較多的。

uuid5():這個看起來和uuid3()貌似并沒有什么不同,寫法一樣,也是由用戶來指定namespace和字符串,不過這里用的散列并不是MD5,而是SHA1.

下面再來說一下簡單的處理,UUID中間的'-'是個比較奇怪的字符,那么應該去掉它,這其實超簡單:

uid = str(uuid.uuid4())
suid = ''.join(uid.split('-'))

補充拓展:python生成uuid,并去掉中間的'-'

UUID(Universally Unique Identifier)是通用唯一識別碼,是軟件建構的標準,號稱可以對任何一種東西進行唯一的編碼。下面來看一下python中怎么生成uuid編碼并去除其中間的符號‘-'。

import uuid

s_uuid=str(uuid.uuid4())

print s_uuid 

l_uuid=s_uuid.split('-')

s_uuid=''.join(l_uuid)

print s_uuid

第一次print出的s_uuid是

4717cf79-1a64-4156-a3e8-883f1b76210d

第二次print出的s_uuid是

4717cf791a644156a3e8883f1b76210d

以上這篇python生成并處理uuid的實現方式就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Python中自動化運維應用詳細指南

    Python中自動化運維應用詳細指南

    Python?在自動化運維(DevOps)中扮演著重要角色,通過豐富的第三方庫和框架,可以高效完成服務器管理、配置部署、監(jiān)控告警、日志分析等任務,下面我們來看看具體應用吧
    2025-06-06
  • Keras loss函數剖析

    Keras loss函數剖析

    這篇文章主要介紹了Keras loss函數剖析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 關于Python如何調用攝像頭

    關于Python如何調用攝像頭

    這篇文章主要介紹了關于Python如何調用攝像頭,文中提供了部分實現代碼和解決思路,需要的朋友可以參考下
    2023-04-04
  • 詳解Python枚舉的定義與用法

    詳解Python枚舉的定義與用法

    這篇文章主要介紹了詳解Python枚舉的定義與用法,在Python中,枚舉和我們在對象中定義的類變量時一樣的,每一個類變量就是一個枚舉項,需要的朋友可以參考下
    2023-04-04
  • 如何查看Python安裝了哪些包

    如何查看Python安裝了哪些包

    這篇文章主要給大家介紹了關于如何查看Python安裝了哪些包的相關資料, Conda是另一種廣泛使用的Python包管理工具,它用于安裝、管理和升級軟件包和其依賴項,需要的朋友可以參考下
    2023-07-07
  • Pytorch運行過程中解決出現內存不足的問題

    Pytorch運行過程中解決出現內存不足的問題

    內存不足是很多人感到頭疼的問題,本文主要介紹了Pytorch運行過程中解決出現內存不足的問題,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Python爬取京東商品信息評論存并進MySQL

    Python爬取京東商品信息評論存并進MySQL

    這篇文章主要介紹了Python爬取京東商品信息評論存并進MySQL,文章通過構建mysql數據表展開Python爬取信息存進MySQL的內容,需要的小伙伴可以參考一下
    2022-04-04
  • Python遠程控制Windows服務器的方法總結

    Python遠程控制Windows服務器的方法總結

    在信息時代的洪流中,掌握一門編程語言已經成為一項必備技能,Python,這門以簡潔、易學、強大著稱的編程語言,更是成為無數開發(fā)者的大寶劍,今天,我們要探討的就是如何用 Python 遠程控制 Windows 服務器,需要的朋友可以參考下
    2024-07-07
  • python3.8與pyinstaller沖突問題的快速解決方法

    python3.8與pyinstaller沖突問題的快速解決方法

    這篇文章主要介紹了python3.8與pyinstaller沖突問題及解決方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • Python中zipfile壓縮包模塊的使用

    Python中zipfile壓縮包模塊的使用

    zipfile 模塊提供了創(chuàng)建、讀取、寫入、添加及列出 ZIP 文件的工具,本文主要介紹了Python中zipfile壓縮包模塊的使用,感興趣的可以了解一下
    2021-05-05

最新評論