所以,我已经用Python编程了一段时间,但我并不熟练。我也一直在玩pygame,虽然这样做,我遇到了一个问题,我可以通过其他方法解决(请参阅下面的更多内容),但我想知道是否有办法让多个python脚本运行在同一时间和相互作用。这就是我的意思。
之前我已经使用Arduino板编程,在编程时,您可以定义多个任务,类似于函数。在主要任务中,您可以启动在后台运行的单独任务。例如,这是一些伪代码。
Define task Emergency_Stop:
If the emergency button is pressed, then stop all motors.
Set x = False
start main task:
while(x==True):
start_task(Emergency_Stop)
Turn on all motors
此代码将启动具有主要任务的所有电机,但是如果在任何时候按下紧急按钮,它将停止所有电机,因为该单独的任务在后台运行。所以我想知道的是,是否有办法与python做类似的事情,允许我同时运行我的主脚本,运行一个单独的脚本,与主脚本中的变量交互,如果我例如,在单独的脚本中运行time.sleep(3000)
,它不会暂停主脚本。
以下是我想要做的一个例子,以及一种绕过它的方法。
import pygame, time
#I'm not entirely sure how to make a timer yet, but let's say t equals a timer of sorts
t=Timer
def mouse_click():
#If the mouse has been clicked and the timer is greater than 5 seconds
if pygame.mouse.get_pressed[0] and t > 5:
#Set the timer back to 0 and print "Your mouse has been clicked"
t = 0
print "Your mouse has been clicked"
def main():
while(True):
mouse_click()
main()
如果我的主循环中有更多要运行的话,这将允许我运行我的所有主循环而不被中断。但是我想要做的不是有一个计时器,我会让mouse_click()函数在按下鼠标后等待5秒钟。我不能这样做,不会导致我的整个程序暂停五秒钟。在进行一些研究之后,我认为我需要使用线程,但我没有使用线程的经验,而且我还没有发现任何有关如何使用它们的信息。如果有人能指导我到一个好学习的地方,那就太好了。谢谢!