Как импортировать полный пакет, но при этом напрямую вызывать определенные методы из пакета?

Я пытаюсь использовать как модуль, так и импорт из модуля.

Я использую from time import sleep уже несколько лет, но мне нужен доступ к большему количеству функций из пакета.

Моя проблема в том, что если я использую import time, я теряю вызов способности sleep() напрямую.

Я пробовал;

import time
from time import sleep

Но я получаю сообщение об ошибке:

    loop_time = time()
TypeError: 'module' object is not callable

и если я попытаюсь импортировать весь пакет и удалить from time import sleep, я получаю сообщение об ошибке:

    sleep(1)
NameError: name 'sleep' is not defined

Я могу использовать функцию переименования всех в Visual Studio, чтобы обновить sleep(x) до time.sleep(x), но мне интересно, есть ли другой способ/лучший способ сделать это? У меня нет большой проблемы, потому что я не использую слово «сон» нигде в своем коде, но я ожидаю, что если бы было слово, которое я не мог бы переименовать, это было бы гораздо более раздражающей проблемой.

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
14
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Используйте ключевое слово *.

from time import *

Но будьте осторожны, это, как правило, плохая практика, так как вы можете столкнуться с некоторыми конфликтами имен, а использование time.sleep() дает понять тому, кто читает код, какой модуль вы используете.

Имея это в виду, я обновил вызовы sleep() на time.sleep() и использую import time, однако, как ни странно, получение TypeError при попытке использовать time() time сейчас не дает мне времени.

mak47 06.05.2022 12:42

Пришлось использовать time.time() шокирующе

mak47 06.05.2022 12:46

Вы должны иметь возможность использовать этот ответ и использовать sleep() напрямую без time. . Я думаю, что ошибка, которую вы получаете, связана с тем, что если вы попытаетесь импортировать модуль с именем x с помощью import x, а затем в своем коде вызовите x(), это не будет иметь особого смысла, верно? Однако некоторые модули, такие как datetime, имеют классы, называемые datetime, поэтому что-то вроде from datetime import datetime, а затем вызов datetime() в вашем коде на самом деле будет работать нормально.

Mohamed Yasser 06.05.2022 12:47

Другие вопросы по теме