Пример PEP 302: новые импортные хуки

Где я могу найти пример реализации "новых импортных хуков", описанных в PEP 302?

Я хотел бы реализовать пользовательский поиск и загрузчик максимально совместимым способом. Другими словами, реализация должна работать в python 2.x и 3.x.

1 ответ

Решение

Вы можете найти тысячи примеров с открытым исходным кодом, например, с помощью поиска кода Google, вот оно:

http://www.google.com/codesearch?hl=en&lr=&q="imp.find_module"+"imp.load_module"&sbtn=Search

Изменить: как уточнил спрашивающий, он ищет пример реализации, а не использования, лучший URL для поиска:

http://www.google.com/codesearch?hl=en&sa=N&q="path_hooks"++lang:python&ct=rr&cs_r=lang:python

Один читаемый пример (хотя НЕ подходит для производственного использования, как указывает обсуждение Reddit!) - urlimport.

Что касается поддержки Python 2 и Python 3 одновременно, это звучит амбициозно - я не знаю ни одного существующего хука импорта, который претендует на это. На вашем месте, я бы начал с предложения полной поддержки Python 2.6, затем, когда он заработает (и у него есть хороший набор тестов, и он не пискнет с -3 переключиться), я бы 2to3 исходники и посмотрите, не сломается ли что-нибудь (если так, выясните почему, исправьте исходники 2.6, итерируйте).

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