Python 带报警的多处理

Python 带报警的多处理,python,multiprocessing,alarm,Python,Multiprocessing,Alarm,我已经在python中为一名个人助理工作了很长一段时间,我遇到了一个我无法解决的问题 我想添加一个提醒 我想将报警代码和辅助代码组合在两个不同的循环中 当我设置闹钟计时器时,我想执行其他输入任务,直到计时器用完 我该怎么做?谢谢 我尝试过这段代码,但它不起作用,因为我只有一个循环: 导入日期时间 导入操作系统 导入时间 随机输入 def助手(): 命令=输入('命令:') 如果命令==“1”: 打印('是一个') elif命令==“2”: 打印('是两个') elif命令==“报警”: 导入日期

我已经在python中为一名个人助理工作了很长一段时间,我遇到了一个我无法解决的问题

我想添加一个提醒

我想将报警代码和辅助代码组合在两个不同的循环中

当我设置闹钟计时器时,我想执行其他输入任务,直到计时器用完

我该怎么做?谢谢

我尝试过这段代码,但它不起作用,因为我只有一个循环:

导入日期时间
导入操作系统
导入时间
随机输入
def助手():
命令=输入('命令:')
如果命令==“1”:
打印('是一个')
elif命令==“2”:
打印('是两个')
elif命令==“报警”:
导入日期时间
def检查报警输入(报警时间):
如果len(报警时间)=1:#[Hour]格式
如果报警时间[0]<24且报警时间[0]>=0:
返回真值
如果len(报警时间)=2:#[小时:分钟]格式
如果报警时间[0]<24且报警时间[0]>=0且\
报警时间[1]<60且报警时间[1]>=0:
返回真值
elif len(报警时间)=3:#[小时:分钟:秒]格式
如果报警时间[0]<24且报警时间[0]>=0且\
报警时间[1]<60且报警时间[1]>=0且\
报警时间[2]<60且报警时间[2]>=0:
返回真值
返回错误
#获取报警时间的用户输入
打印(“设置报警时间(例如06:30或18:30:00)”)
尽管如此:
报警输入=输入(“>>”)
尝试:
报警时间=[int(n)代表报警输入中的n.split(“:”)]
如果检查报警输入(报警时间):
打破
其他:
升值误差
除值错误外:
打印(“错误:以HH:MM或HH:MM:SS格式输入时间”)
#将报警时间从[H:M]或[H:M:S]转换为秒
秒数_hms=[3600,60,1]#小时、分钟和秒数
报警秒数=总和([a*b代表a,b在zip中(秒数[:len(报警时间)],报警时间)])
#以秒为单位获取当前时间
now=datetime.datetime.now()
当前时间秒=总和([a*b代表a,b在zip中(秒[now.hour,now.minute,now.second]))
#计算警报关闭前的秒数
时间差秒=报警秒-当前时间秒
#如果时差为负,则为第二天设置警报
如果时间差秒<0:
time_diff_seconds+=86400#一天中的秒数
#显示警报关闭前的时间量
打印(“报警设置为在%s”%datetime.timedelta(秒=时间差秒)内发出”)
#睡到闹钟响
睡眠时间(时间差秒)
#闹钟响的时间到了
打印(“唤醒!”)
尽管如此:
助理()
1.提醒代码:

导入日期时间
导入操作系统
导入时间
随机输入
def检查报警输入(报警时间):
“”“检查用户是否输入了有效的报警时间”“”
如果len(报警时间)=1:#[Hour]格式
如果报警时间[0]<24且报警时间[0]>=0:
返回真值
如果len(报警时间)=2:#[小时:分钟]格式
如果报警时间[0]<24且报警时间[0]>=0且\
报警时间[1]<60且报警时间[1]>=0:
返回真值
elif len(报警时间)=3:#[小时:分钟:秒]格式
如果报警时间[0]<24且报警时间[0]>=0且\
报警时间[1]<60且报警时间[1]>=0且\
报警时间[2]<60且报警时间[2]>=0:
返回真值
返回错误
#获取报警时间的用户输入
打印(“设置报警时间(例如06:30或18:30:00)”)
尽管如此:
报警输入=输入(“>>”)
尝试:
报警时间=[int(n)代表报警输入中的n.split(“:”)]
如果检查报警输入(报警时间):
打破
其他:
升值误差
除值错误外:
打印(“错误:以HH:MM或HH:MM:SS格式输入时间”)
#将报警时间从[H:M]或[H:M:S]转换为秒
秒数_hms=[3600,60,1]#小时、分钟和秒数
报警秒数=总和([a*b代表a,b在zip中(秒数[:len(报警时间)],报警时间)])
#以秒为单位获取当前时间
now=datetime.datetime.now()
当前时间秒=总和([a*b代表a,b在zip中(秒[now.hour,now.minute,now.second]))
#计算警报关闭前的秒数
时间差秒=报警秒-当前时间秒
#如果时差为负,则为第二天设置警报
如果时间差秒<0:
time_diff_seconds+=86400#一天中的秒数
#显示警报关闭前的时间量
打印(“报警设置为在%s”%datetime.timedelta(秒=时间差秒)内发出”)
#睡到闹钟响
睡眠时间(时间差秒)
#闹钟响的时间到了
打印(“唤醒!”)
2.代表助理代码:

def助手():
命令=输入('命令:')
如果命令==“1”:
打印('是一个')
elif命令==“2”:
打印('是两个')
尽管如此:
助理()
我正在计划这样的输出

命令:1
是一个吗
指挥部:2
是两点吗
命令:报警
设置报警时间(例如06:30或18:30:00)
>> 13:00
警报设置为在1:30:00后熄灭
命令:1
是一个吗
指挥部:2
是两点吗
醒醒
命令:1
是一个吗
指挥部:2
是两点吗