Python 快速摄影机检查:查找用户时间

Python 快速摄影机检查:查找用户时间,python,Python,我目前正在编写一个测速摄像头检查程序,记录驾驶员通过两个传感器所需的时间 我想通过使用速度=距离/时间来找到用户的平均速度 使用高速摄影机,距离是已知的,但时间不是。这是我的一些代码 distanceapart = 20 start = input("Press enter to start") starttime =(datetime.now()) stop = input("Press enter to stop") stoptime =(datetime.now()) time = st

我目前正在编写一个测速摄像头检查程序,记录驾驶员通过两个传感器所需的时间

我想通过使用速度=距离/时间来找到用户的平均速度

使用高速摄影机,距离是已知的,但时间不是。这是我的一些代码

distanceapart = 20
start = input("Press enter to start")
starttime =(datetime.now())
stop = input("Press enter to stop")
stoptime =(datetime.now())

time = stoptime-starttime
这是为了记录用户的时间

其中一个输出是 “0:00:00.451445秒”

我试过了

distanceapart/time
但它不起作用

有没有办法让这一切顺利


提前感谢

开始和结束之间的差异给出了一个对象。您需要使用timedelta的一个类字段访问时差,如下所示

from datetime import datetime
start = datetime.now()
end = datetime.now()
delta = end - start
distance = 20
speed = distance / delta.seconds
# 4.0 distance units / second

我会使用专用的精密计时器:

import sys
import time

# a cross-platform precision timer
get_timer = time.clock if sys.platform == "win32" else time.time

distance = 20
input("Press enter to start.")
start_time = get_timer()
input("Press enter to stop.")
stop_time = get_timer()

delta_time = stop_time - start_time  # passed time in seconds
speed = distance / delta_time  # the unit depends on the unit of your `distance` value
这将有助于:

import datetime
import time # for sleep 

dt = datetime.datetime.now()   # one now()
time.sleep(1.83)
dt2 = datetime.datetime.now()  # another now() a bit later


dtdelta = dt2-dt               # time spent (it is a deltatime)
print( dtdelta.total_seconds()) # in total_seconds   - use it to calculate your speed

Dokumentation:

您希望发生什么?例如,在给定的时间内,您的预期输出是什么?您不能通过
datetime
对象进行转换和int。首先转换为例如秒。第二,什么是dsitance
km/m
@Ludisposed距离是米查看datetime文档-您需要的是以秒为单位的总量或以秒为单位的某种时间增量…@pycoder-我想使用“距离/时间”公式计算用户的平均速度。另外,我对python还是新手。我了解它的大部分内容,但不了解第三行“get_timer”。。。您能解释一下吗?@1ndy123内置的
time
模块有两个用于精确计时器的函数-和(您可以在网站上阅读有关不同Python计时器的更多信息)。不幸的是,它们在不同的平台上表现不同,对于Windows来说,前者是首选。该行仅存储了对更精确函数的引用,该函数依赖于
get\u timer
变量的平台。