Как я могу предупредить пользователя об импорте определенных библиотек?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как я могу предупредить пользователя об импорте определенных библиотек?

Сообщение Anonymous »

Я хочу предупредить пользователя об импорте определенных библиотек.
import sys
import warnings

class ImportWarningHandler:
def __init__(self, libraries_to_warn):
self.libraries_to_warn = set(libraries_to_warn) # Use a set for efficient lookups

def find_spec(self, fullname, path, target=None):
if fullname in self.libraries_to_warn:
warnings.warn(
f"Warning: The library '{fullname}' is imported. Use it cautiously!",
ImportWarning
)
return None

warnings.simplefilter("default", ImportWarning)

libraries_to_warn = ["numpy", "pandas", "tensorflow"]
sys.meta_path.insert(0, ImportWarningHandler(libraries_to_warn))

import numpy
import pandas

print('something')

import numpy #Assuming from a circular import #No warnings

Выход:
Warning (from warnings module):
File "C:\Users\Bhargav\Desktop\ss.py", line 10
warnings.warn(
ImportWarning: Warning: The library 'numpy' is imported. Use it cautiously!

Warning (from warnings module):
File "C:\Users\Bhargav\Desktop\ss.py", line 10
warnings.warn(
ImportWarning: Warning: The library 'pandas' is imported. Use it cautiously!
something

В одном из моих проектов есть циклический импорт. Мой код не работает в таких сценариях. Я что-то упускаю? Это излишество? Почему Python не может обнаружить мой импорт numpy, если я сделал это во второй раз?
Это работает следующим образом,
import numpy

del numpy

print('something')

import numpy #Assuming from a circular import #works


Подробнее здесь: https://stackoverflow.com/questions/793 ... e-imported
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»