1

在 microbit muPython: sleep(ms) 中,单位是毫秒。

但是,如果导入时间模块并使用 sleep(),那么 muPython 使用时间模块的 sleep(s),它是以整秒为单位的。编码器必须替换时间模块的 sleep_ms(ms) 以获得毫秒单位。

如果使用时间模块,我如何强制使用“正常”睡眠(毫秒)?

或者更一般地说,我如何指定使用来自“普通”muPython 的任何命令,而不是来自导入模块的同拼写命令?

# Task: Show SAD, sleep 1 sec, show HAPPY
# Problem: HAPPY takes 17 minutes to appear
from microbit import *
from time import *
display.show(Image.SAD)
sleep(1000) # uses time.sleep(units=sec) so 1,000 sec
display.show(Image.HAPPY)
4

1 回答 1

3

使用from ... import ... as符号。

from microbit import sleep as microbit_sleep
from time import sleep as normal_sleep

microbit_sleep(1000) # sleeps for one second
normal_sleep(1000) # sleeps for much longer

或者,如果您需要这两个模块中的所有内容,只需执行正常的import.

import microbit
import time

microbit.sleep(1000)
time.sleep(1)

from ... import *由于您在此处发现的原因,通常被认为是糟糕的 Python 风格。对于真正快速的脚本来说没关系,但最好避免随着项目变得更大并依赖更多模块。

于 2020-07-14T00:58:23.100 回答