2010-12-10 1 views
0

Есть ли способ принудительно использовать функцию urlsplit urlparse для сохранения случая переданной str? Он сохраняет случай пути в возвращаемом кортеже, но не от netloc, и это важно для меня. (Я знаю, что имена доменов не чувствительны к регистру, но мы делаем некоторые тесты A/B с разными заглавными буквами имени и должны сохранять регистр.)Форсирование urlparse.urlsplit для сохранения str case

Спасибо.

+0

Это странно - по крайней мере, для меня (Python 2.6), 'urlparse.urlsplit ('http://www.ExamPle.com/') .netloc' дает' 'Www.ExamPle.com'' с сохраненным случаем , –

+0

Возможно, это конкретная реализация/платформа, так как в моем питоне я вижу верблюд-футляр 'Www.ExamPle.com'. У меня есть какая-то сумасшедшая идея, которая может быть полезной: проанализировать URL-адрес, получить netloc, сделать нечувствительное к регистру регулярное выражение (вам нужно экранировать '.'s) и искать в исходном URL-адресе. – khachik

+0

Netloc не является 'lower()' ed на Python 2.7.x либо: http://svn.python.org/view/python/branches/release27-maint/Lib/urlparse.py?view=markup Что версия Python? –

ответ

1

Невозможно заставить urlsplit сделать это.

Вы можете, однако, обернуть его, а затем выполнить какую-то грязную работу, чтобы восстановить случай, или скопировать исходный код и внести изменения самостоятельно. Или, конечно, написать функцию с нуля.

Я бы выбрал второй вариант.