Python使用当前时间、随机数产生一个唯一数字的方法


Posted in Python onSeptember 18, 2017

本文实例讲述了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使用当前时间、随机数产生一个唯一数字的方法

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使用当前时间、随机数产生一个唯一数字的方法

Python 相关文章推荐
django 自定义用户user模型的三种方法
Nov 18 Python
用map函数来完成Python并行任务的简单示例
Apr 02 Python
Python实现的数据结构与算法之快速排序详解
Apr 22 Python
用Python遍历C盘dll文件的方法
May 06 Python
python测试mysql写入性能完整实例
Jan 18 Python
对python中字典keys,values,items的使用详解
Feb 03 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
Django框架 Pagination分页实现代码实例
Sep 04 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
Flask框架 CSRF 保护实现方法详解
Oct 30 Python
Python按照list dict key进行排序过程解析
Apr 04 Python
python suds访问webservice服务实现
Jun 26 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
Sep 18 #Python
Python实现输出程序执行进度百分比的方法
Sep 16 #Python
Python实现求笛卡尔乘积的方法
Sep 16 #Python
轻松理解Python 中的 descriptor
Sep 15 #Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 #Python
python中reload(module)的用法示例详解
Sep 15 #Python
Python 关于反射和类的特殊成员方法
Sep 14 #Python
You might like
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
2011/06/16 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
[JS]点出统计器
2020/10/11 Javascript
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
JS面向对象编程浅析
2011/08/28 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
javascript中的括号()用法小结
2014/04/14 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
JavaScript学习笔记之ES6数组方法
2016/03/25 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
2016/05/17 Javascript
Javascript获取background属性中url的值
2016/10/17 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
干货!教大家如何选择Vue和React
2017/03/13 Javascript
angular.js实现列表orderby排序的方法
2018/10/02 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
Python性能提升之延迟初始化
2016/12/04 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
Python实现的多项式拟合功能示例【基于matplotlib】
2018/05/15 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
python的pygal模块绘制反正切函数图像方法
2019/07/16 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
使用python matplotlib 画图导入到word中如何保证分辨率
2020/04/16 Python
python numpy库np.percentile用法说明
2020/06/08 Python
Python中Yield的基本用法
2020/10/18 Python
莫斯科珠宝厂官方网站:Miuz
2020/09/19 全球购物
软件测试笔试题
2012/10/25 面试题
自行车租赁公司创业计划书
2014/01/28 职场文书
扬尘污染防治方案
2014/06/15 职场文书
优秀高中学生评语
2014/12/30 职场文书
同学聚会感言一句话
2015/07/30 职场文书
golang 实用库gotable的具体使用
2021/07/01 Golang
《火纹风花雪月无双》预告“神秘雇佣兵” 紫发剑客
2022/04/13 其他游戏