Форум сайта python.su
14
>>> import lxml.HTML Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named HTML
# this is a package
Офлайн
253
import lxml.html
ElementInclude.py ElementInclude.pyc ElementInclude.pyo __init__.py __init__.pyc __init__.pyo _elementpath.py _elementpath.pyc _elementpath.pyo builder.py builder.pyc builder.pyo cssselect.py cssselect.pyc cssselect.pyo doctestcompare.py doctestcompare.pyc doctestcompare.pyo etree.pyd html includes isoschematron lxml.etree.h lxml.etree_api.h objectify.pyd pyclasslookup.py pyclasslookup.pyc pyclasslookup.pyo sax.py sax.pyc sax.pyo usedoctest.py usedoctest.pyc usedoctest.pyo
Отредактировано doza_and (Ноя. 6, 2012 21:20:35)
Офлайн
14
Да, но файловая система на винде - независимая, и HTML и html - один и тот же каталог. Читал, что для этого в __init__ надо заполнять __all__, но тут этого нет.
Офлайн
253
А как ваш код потом под UNIX переносить если будет каша? __all__ для порядка конечно следовало заполнить.
На самом деле в виндах регистр тоже хранится
> ls Aa.py B.py B.pyc
Отредактировано doza_and (Ноя. 6, 2012 21:29:58)
Офлайн
14
Я понимаю, просто я в книжке прочел, что без __all__ это будет возможно - а вот нет.
Если выводить список - то хранится, если искать HTML, то винда должна будет и его найти.
Офлайн
253
odnochlen
винда должна будет и его найти
import glob for i in glob.glob("B.py"): print i,"b.py" ==i for i in glob.glob("b.py"): print i,"b.py" ==i >>> B.py False b.py True
Отредактировано doza_and (Ноя. 6, 2012 21:42:39)
Офлайн
14
Под “искать” я имел в виду open(), и он таки регистронезависим.
doza_andДля питона тоже пора много че отменить, но никто это делать не будет. И из x86 все легаси гавно повырезать, из-за которого он так греется.
Для винды давно уже пора отменить независимость от регистра.
Отредактировано odnochlen (Ноя. 6, 2012 21:47:18)
Офлайн
2
open(), и он таки регистронезависим.Ну регистронезависимость в пуях к файлам зависит от ОС, и это уже не волнует интерпритатор правильно\неправильно путь указан, заранее он этого не проверит, а в остальных случаях там четко прописан список модулей за которые не прыгнешь.
Офлайн
14
Так а ГДЕ прописан этот список, если не в __init__.py?
Офлайн
14
Питон использует регистрозависимый импорт, даже на Windows. Это сделано специально и осознанно. Код здесь: http://hg.python.org/cpython/file/f068c3e7743d/Python/import.c#l1620
Фича отключается установкой Environment Variable PYTHONCASEOK
Офлайн