Python: как разрешать URL-адреса, содержащие «..»

Мне нужно однозначно идентифицировать и хранить некоторые URL-адреса. Проблема в том, что иногда они содержат «..», например http://somedomain.com/foo/bar/../../some/url который в основном является http://somedomain.com/some/url если я Не ошибаюсь. Есть ли функция Python или сложный способ разрешения этих URL-адресов?

Почему python mock patch не работает?

У меня есть два файла spike.py class T1(object): def foo(self, afd): return "foo" def get_foo(self): return self.foo(1) def bar(): return "bar" test_spike.py: from unittest import TestCase import unittest from mock import patch, MagicMock from spike import T1, bar class TestShit(TestCase): @patch('spike.T1.foo', MagicMock(return_value='patched')) def test_foo(self): foo = T1().get_foo() self.assertEqual('patched', foo) @patch('spike.bar') def test_bar(self, mock_obj): mock_obj.return_value = […]

Сроки процессорного времени программы python?

Я хотел бы получить фрагмент кода, и мне хотелось бы просто время выполнения CPU (игнорируя процессы операционной системы и т. Д.). Я пробовал time.clock (), он кажется слишком неточным и каждый раз дает другой ответ. (В теории, конечно, если я запустил его снова для того же фрагмента кода, он должен вернуть то же значение?) Я […]

свойство python getter / setter путаница

Я немного запутался в свойствах в python. Рассмотрим следующий код class A: @property def N(self): print("A getter") return self._N @N.setter def N(self,v): print("A setter") self._N = v def __init__(self): self._N = 1 class B: @property def N(self): print("B getter") return self.aN @N.setter def N(self,v): print("B setter") self.aN = v def __init__(self): self.a = A() if […]

Как я могу проанализировать код Python для выявления проблемных областей?

У меня есть большой репозиторий источников, разделенный на несколько проектов. Я хотел бы подготовить отчет о здоровье исходного кода, определяя проблемные области, которые необходимо решить. В частности, я хотел бы вызывать процедуры с высокой циклической сложностью, идентифицировать повторение и, возможно, запускать некоторый линт-подобный статический анализ, чтобы выявить подозрительные (и, вероятно, ошибочные) конструкции. Как я могу […]

Как заставить numpy упорядочить массив для стиля fortran?

Я использую довольно много библиотек fortran для выполнения математических вычислений. Таким образом, все массивы в numpy должны быть Fortran-смежными . В настоящее время я выполняю это с помощью numpy.asfortranarray () . Мои вопросы: Является ли это быстрым способом сообщить numpy, что массив должен храниться в fortran-стиле или есть более быстрый? Есть ли возможность установить некоторый […]

В Python, почему list автоматически глобально?

Это странное поведение. Попробуй это : rep_i=0 print "rep_i is" , rep_i def test(): global rep_i #without Global this gives error but list , dict , and others dont if rep_i==0: print "Testing Integer %s" % rep_i rep_i=1 return "Done" rep_lst=[1,2,3] def test2(): if rep_lst[0]==1: print "Testing List %s" % rep_lst return "Done" if __name__=="__main__": […]

итерация по ряду строк с использованием ws.iter_rows в оптимизированном считывателе openpyxl

Мне нужно прочитать файл xlsx из 10×5324 ячеек Это суть того, что я пытался сделать: from openpyxl import load_workbook filename = 'file_path' wb = load_workbook(filename) ws = wb.get_sheet_by_name('LOG') col = {'Time':0 …} for i in ws.columns[col['Time']][1:]: print i.value.hour Код слишком долго работал, поэтому он должен (я выполнял операции, а не печатал), и через некоторое время […]

Ошибка импорта: нет модуля с именем django

Я использую centos linux. У меня был python 2.6 с django, и теперь я обновился до python 2.7. Python 2.6 находится в /usr/lib/python2.6. Python 2.7 находится в /usr/local/lib/python2.7. Они оба имеют каталог сайтов-пакетов, и оба они содержат django 1.2. Если я запустил python, я получу версию 2.7. Моя проблема в том, что если попытаться импортировать […]

Регулярное выражение: как совместить строку, содержащую «\ n» (новая строка)?

Я пытаюсь сбрасывать данные из файла экспорта SQL с регулярным выражением. Чтобы соответствовать полю сообщения, я использую ' (?P<content>.*?) '. Он отлично работает отлично, но если поле содержит строку «\ n», регулярное выражение не будет совпадать. Как изменить регулярное выражение для их соответствия? Благодаря! Пример (я использую Python): >>> re.findall("'(?P<content>.*?)'","'<p>something, something else</p>'") ['<p>something, something else</p>'] […]

Python - лучший язык программирования в мире.