gpt4 book ai didi

python - 随机时间生成

转载 作者:太空宇宙 更新时间:2023-11-03 13:18:58 25 4
gpt4 key购买 nike

我是 Python 的新手,我正在尝试一个小的随机时间生成器,它从给定的初始化变量生成随机时间,并以给定的结束变量结束 1000 条记录,并且必须将这 1000 条记录保存到数据库中。

到目前为止,我已经达到了这段代码。

SQL.py

from sqlalchemy import create_engine, Column, Integer
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker

engine = create_engine('sqlite:///sql.sqlite')
Base = declarative_base()
Session = sessionmaker(bind=engine)

session = Session()

class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
time = Column(Integer, default=None, index=True)

Base.metadata.create_all(engine)

随机.py

import datetime
import time
import random


MINTIME = datetime.datetime(2010,8,6,8,14,59)
MAXTIME = datetime.datetime(2013,8,6,8,14,59)
RECORDS = 1000

for RECORD in range(RECORDS):
RANDOMTIME = random.randint(MINTIME, MAXTIME)
print RANDOMTIME

它像这样产生回溯

TypeError: unsupported operand type(s) for +: 'datetime.datetime' and 'int'

我做错了什么,如果可能的话建议一些重构方法。

最佳答案

基本上,问题是:random.randint expects integers .所以你应该给它整数,然后根据需要将它转换回日期时间

可能有更有效的方法,但这里有一种方法:

import datetime
import time

MINTIME = datetime.datetime(2010,8,6,8,14,59)
MAXTIME = datetime.datetime(2013,8,6,8,14,59)

mintime_ts = int(time.mktime(MINTIME.timetuple()))
maxtime_ts = int(time.mktime(MAXTIME.timetuple()))

for RECORD in range(RECORDS):
random_ts = random.randint(mintime_ts, maxtime_ts)
RANDOMTIME = datetime.datetime.fromtimestamp(random_ts)
print RANDOMTIME

关于python - 随机时间生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com