首頁 >後端開發 >Python教學 >Python使用當前時間、隨機數產生唯一數的方法來講解

Python使用當前時間、隨機數產生唯一數的方法來講解

巴扎黑
巴扎黑原創
2017-09-21 11:08:522270瀏覽

這篇文章主要介紹了Python使用當前時間、隨機數產生一個唯一數字的方法,涉及Python時間與隨機數相關操作技巧,需要的朋友可以參考下

本文實例講述了Python使用當前時間、隨機數產生一個唯一數字的方法。分享給大家供大家參考,具體如下:

Python生成當前時間很簡單,比Java的程式碼簡短多了,Java產生時間可參考《Java獲取當前系統事件System.currentTimeMillis()方法》

具體程式碼如下:


#-*-coding:utf-8-*-
import datetime
now = 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<=100
if 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使用當前時間、隨機數產生唯一數的方法來講解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn