【Python】利用目前時間、隨機數產生一個唯一的數字

來源:互聯網
上載者:User

標籤:python   隨機數   時間   時間戳記   random   

Python產生目前時間很簡單,比Java的代碼簡短多了,Java產生時間具體詳見《【Java】有關System.currentTimeMillis()的思考》(點擊開啟連結)

具體代碼如下:

#-*-coding:utf-8-*-import datetimenow = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")print now;
運行結果如下,輸出當前的時間,時間格式根據strftime("%Y-%m-%d %H:%M:%S")而定,相應的格式,正如C語言的printf語句那樣簡單。


Python可以利用如下語句產生唯一的隨機數:

import random;print random.randint(0,100);#產生的隨機整數n,其中0<=n<=100
據此,我們可以利用目前時間、隨機數產生一個唯一的數字,用於一些上傳檔案,產生檔案等場合,

考慮到極端情況,在1秒內有1000個使用者上傳檔案,也不會出現衝突的最好情況,就是利用目前時間+0~1000的隨機整數,構造一個隨機數字:

唯一值得注意的是,拼接時間與字串要轉化成字串才拼接,而不是直接相加,由於Python是沒有變數聲明的,直接相加則變成了數字之間的相加了。

同時注意,如果隨機數隨機到一個比10少的數字,應當在隨機產生出來的數字前面補上一個0,使得產生的數位位元是相同的。

具體代碼如下:

#-*-coding:utf-8-*-import datetime;import random;nowTime=datetime.datetime.now().strftime("%Y%m%d%H%M%S");#產生目前時間randomNum=random.randint(0,100);#產生的隨機整數n,其中0<=n<=100if randomNum<=10:    randomNum=str(0)+str(randomNum);uniqueNum=str(nowTime)+str(randomNum);print uniqueNum;

以下Python程式,將利用for設定10個測試案例來測試在一秒內產生的結果,代碼如下:

#-*-coding:utf-8-*-import datetime;import random;for i in range (0,10):    nowTime=datetime.datetime.now().strftime("%Y%m%d%H%M%S");#產生目前時間    randomNum=random.randint(0,100);#產生的隨機整數n,其中0<=n<=100    if randomNum<=10:        randomNum=str(0)+str(randomNum);    uniqueNum=str(nowTime)+str(randomNum);    print uniqueNum;

得到的運行結果如,可以發生產生出來的數字沒有一個是相同的:


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

【Python】利用目前時間、隨機數產生一個唯一的數字

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.