Прямая ссылка на стандартную библиотеку Python

#python #python-2.7 #pyqt4 #standard-library

#python #python-2.7 #pyqt4 #стандартная библиотека

Вопрос:

Получается, что PyQt переопределяет функцию, hex() что, к сожалению, делает стандартную библиотеку python hex() непригодной для использования. Я работаю над крупным программным проектом, и он был настроен с помощью * imports:

 from PyQt4.QtCore import *
from PyQt4.QtGui import *
  

…etc

Мне нужна стандартная hex() функция python, есть ли какой-нибудь способ для меня сослаться на нее? Я думаю о stdlib.hex() или что-то в этом роде?

В настоящее время мой уродливый обходной путь:

 pyHex = hex
from PyQt4.QtCore import *
from PyQt4.QtGui import *
hex = pyHex
  

и я бы действительно предпочел не делать этого.

Спасибо.

Комментарии:

1. Я думаю, это одна из причин, по которой импорт * называется плохой практикой

2. Я согласен — к сожалению, я не единственный, кто работает над этой кодовой базой, и импорт * был выполнен задолго до того, как я даже увидел код. Итак, теперь мне нужен обходной путь.

Ответ №1:

 from __builtin__ import hex
  

Используйте __builtin__ модуль.

Комментарии:

1. Обратите внимание, что в Python 3 __builtin__ был переименован в builtins .

2. Если операционной системе необходимо использовать КАК QT hex, так и Python hex, то вместо этого они могут захотеть сделать это: из _builtin_ импортировать hex как _hex