python – 随机时间生成

python – 随机时间生成,第1张

概述我是 Python的新手我正在尝试一个小的随机时间生成器,它从给定的初始化变量生成随机时间,并以1000条记录的给定结束变量结束,并且必须将这1000条记录保存到数据库中. 我到目前为止已经达到了这个代码. SQL.py from sqlalchemy import create_engine, Column, Integerfrom sqlalchemy.ext.declarative imp 我是 Python的新手我正在尝试一个小的随机时间生成器,它从给定的初始化变量生成随机时间,并以1000条记录的给定结束变量结束,并且必须将这1000条记录保存到数据库中.

我到目前为止已经达到了这个代码.

sql.py

from sqlalchemy import create_engine,Column,Integerfrom sqlalchemy.ext.declarative import declarative_basefrom sqlalchemy.orm import sessionmakerengine = 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)

Random.py

import datetimeimport timeimport randomMINTIME = datetime.datetime(2010,8,6,14,59)MAXTIME = datetime.datetime(2013,59)RECORDS = 1000for 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 datetimeimport timeMINTIME = datetime.datetime(2010,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 – 随机时间生成全部内容,希望文章能够帮你解决python – 随机时间生成所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192998.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存