Python使用當前時間、隨機數(shù)產(chǎn)生一個唯一數(shù)字的方法
本文實例講述了Python使用當前時間、隨機數(shù)產(chǎn)生一個唯一數(shù)字的方法。分享給大家供大家參考,具體如下:
Python生成當前時間很簡單,比Java的代碼簡短多了,Java產(chǎn)生時間可參考《Java獲取當前系統(tǒng)事件System.currentTimeMillis()方法》
具體代碼如下:
#-*-coding:utf-8-*-
import datetime
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print now;
運行結(jié)果如下,輸出當前的時間,時間格式根據(jù)strftime("%Y-%m-%d %H:%M:%S")而定,相應(yīng)的格式,正如C語言的printf語句那樣簡單。

Python可以利用如下語句產(chǎn)生唯一的隨機數(shù):
import random; print random.randint(0,100);#生成的隨機整數(shù)n,其中0<=n<=100
據(jù)此,我們可以利用當前時間、隨機數(shù)產(chǎn)生一個唯一的數(shù)字,用于一些上傳文件,產(chǎn)生文件等場合,
考慮到極端情況,在1秒內(nèi)有1000個用戶上傳文件,也不會出現(xiàn)沖突的最好情況,就是利用當前時間+0~1000的隨機整數(shù),構(gòu)造一個隨機數(shù)字:
唯一值得注意的是,拼接時間與字符串要轉(zhuǎn)化成字符串才拼接,而不是直接相加,由于Python是沒有變量聲明的,直接相加則變成了數(shù)字之間的相加了。
同時注意,如果隨機數(shù)隨機到一個比10少的數(shù)字,應(yīng)當在隨機產(chǎn)生出來的數(shù)字前面補上一個0,使得產(chǎn)生的數(shù)字的位數(shù)是相同的。
具體代碼如下:
#-*-coding:utf-8-*-
import datetime;
import random;
nowTime=datetime.datetime.now().strftime("%Y%m%d%H%M%S");#生成當前時間
randomNum=random.randint(0,100);#生成的隨機整數(shù)n,其中0<=n<=100
if randomNum<=10:
randomNum=str(0)+str(randomNum);
uniqueNum=str(nowTime)+str(randomNum);
print uniqueNum;
以下Python程序,將利用for設(shè)置10個測試用例來測試在一秒內(nèi)產(chǎn)生的結(jié)果,代碼如下:
#-*-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);#生成的隨機整數(shù)n,其中0<=n<=100
if randomNum<=10:
randomNum=str(0)+str(randomNum);
uniqueNum=str(nowTime)+str(randomNum);
print uniqueNum;
得到的運行結(jié)果如下圖,可以發(fā)生產(chǎn)生出來的數(shù)字沒有一個是相同的:

PS:這里再提供幾款相關(guān)工具供大家參考使用:
在線隨機生成個人信息數(shù)據(jù)工具:
http://tools.jb51.net/aideddesign/rnd_userinfo
在線隨機字符/隨機密碼生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在線隨機數(shù)字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
常用電話號碼在線查詢:
http://tools.jb51.net/bianmin/pub_tel
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學運算技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python 抓取動態(tài)網(wǎng)頁內(nèi)容方案詳解
這篇文章主要介紹了Python 抓取動態(tài)網(wǎng)頁內(nèi)容方案詳解,首先通過Chrome的工具來進行分析,然后再使用python進行處理,最終得到我們需要的內(nèi)容,非常的方便,這里也算是給大家提供一個思路2014-12-12
python反轉(zhuǎn)一個三位整數(shù)的多種實現(xiàn)方案
這篇文章主要介紹了python反轉(zhuǎn)一個三位整數(shù)的多種實現(xiàn)方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
Python獲取時間范圍內(nèi)日期列表和周列表的函數(shù)
這篇文章主要介紹了Python獲取時間范圍內(nèi)日期列表和周列表的函數(shù),文中給大家提到了python獲取日期的周數(shù) ,需要的朋友可以參考下2019-08-08
Python中pinyin庫實現(xiàn)漢字轉(zhuǎn)換為拼音
python-pinyin是一個用于漢字轉(zhuǎn)拼音的Python庫,支持多音字、多種拼音風格和自定義詞典,本文就來介紹一下Python中pinyin庫實現(xiàn)漢字轉(zhuǎn)換為拼音,感興趣的可以了解一下2025-01-01

