Пример 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, итерируйте).