microbit Python: при использовании модуля времени, как сохранить единицы sleep () в миллисекундах? - PullRequest
1 голос
/ 14 июля 2020

В микробите mu Python: sleep (ms), единицы измерения - миллисекунды.

Однако, если импортировать модуль времени и использовать sleep (), тогда mu Python использует время сна модуля (s), которое единицы полных секунд. Кодер должен заменить модуль времени sleep_ms (мс), чтобы получить единицы миллисекунд.

Если используется модуль времени, как я могу принудительно использовать «нормальный» сон (мс)?

Или в более общем смысле , как я могу указать использование любой команды из «обычного» mu Python в отличие от команды с таким же написанием из импортированного модуля?

# 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)

1 Ответ

3 голосов
/ 14 июля 2020

Используйте обозначение 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 * is обычно считается плохим стилем Python именно по причинам, которые вы здесь обнаружили. Это нормально для действительно быстрых сценариев, но лучше избегать этого, поскольку проекты становятся больше и зависят от большего количества модулей.

...