python 随机生成时间戳写入txt文件/运行sql语句
import time from random import randint with open('time.txt', 'w+', encoding='utf-8') as f: for _ in range(800): rand_time = f'2021-05-{randint(18,20)} {randint(1,23)}:{randint(1,59)}:{randint(1,59)}' timeArray = time.strptime(rand_time, "%Y-%m-%d %H:%M:%S") timeStamp = int(time.mktime(timeArray)) #不转换成int类型,输出的格式为:1621395823.0,结尾带.0 f.write(str(timeStamp)+'\n')
下面是改进版,批量生成sql语句:
import time from random import randint stime = time.time() with open('time.txt', 'w+', encoding='utf-8') as f: for i in range(360000): rand_time = f'2021-05-{randint(18,20)} {randint(1,23)}:{randint(1,59)}:{randint(1,59)}' timeArray = time.strptime(rand_time, "%Y-%m-%d %H:%M:%S") timeStamp = int(time.mktime(timeArray)) f.write(f"UPDATE icms_article SET `pubdate` ={str(timeStamp)} WHERE id ={i};\n") endtime = time.time() print(f"耗时:{endtime-stime}")
再来个改进版,直接服务器上运行即可:
import time from random import randint import pymysql db = pymysql.connect(host='127.0.0.1', user='root', password="password", database='sql_name') cursor = db.cursor() stime = time.time() for i in range(1, 344150): rand_time = f'2021-05-{randint(18, 20)} {randint(10, 23)}:{randint(10, 59)}:{randint(10, 59)}' timeArray = time.strptime(rand_time, "%Y-%m-%d %H:%M:%S") timeStamp = int(time.mktime(timeArray)) sql = f"UPDATE icms_article SET `pubdate` ={str(timeStamp)} WHERE id ={i};" # sql = f"UPDATE phome_ecms_news SET `newstime` ={str(timeStamp)} WHERE id ={i};" print(sql) cursor.execute(sql) db.commit() db.close() endtime = time.time() print(f"耗时:{endtime - stime}")