Я столкнулся с этой же проблемой сегодня утром, но ни один из ответов выше не предоставил мне решение.
В конце концов я понял, что проблема связана с тем, что я изменил DocumentRoot на подпапку каталога www , так как раньше я работал над проектом Symfony2 внутри www.
С новым проектом, над которым я работаю внутри www, этот старый каталог DocumentRoot больше не существует, поэтому Apache не смог запустить.
wampserver -> Apache -> httpd.conf, затем найдите «DocumentRoot» и убедитесь, что каталог, на который указывает он, или изменит его на тот, который делает.
Спасибо RiggsFolly, это был из-за вашего намека на просмотр событий выше, что я нашел проблему.
Я думаю, что Пилинт не оправдывает это предупреждение правильно.
Обоснование на официальном документе
(возвращает итератор в Python 3)
blockquote>подходит для итератора (например, map ) но не для диапазона.
Чтобы легко увидеть разницу между объектом
iterator
и объектомnon-iterator
, вы можете выполнить следующие строкиr = range(5) print(list(r)) # [0, 1, 2, 3, 4] print(list(r)) # [0, 1, 2, 3, 4] m = map(int, '01234') print(list(m)) # [0, 1, 2, 3, 4] print(list(m)) # []
iterator
потребляет элементы.Однако я не думаю, что это хорошая практика, потому что у вас может возникнуть соблазн использовать его как список, который в некоторых случаях может быть медленнее.
давайте возьмем эти 2 примера.
r = range(500000) l = list(r) %%time for i in range(200): for k in r: pass # 6.7 sec on my computer %%time for i in range(200): for k in l: pass # 4.5 sec on my computer
Основное различие заключается в том, что
list
загружаются в память, что позволяет быстрее выполнять итерации.Редактировать: Если вы ищете скорость, вы можете использовать список, в противном случае, возможно, вам следует использовать диапазон.
Я открыл вопрос на Pylint ранее сегодня, если это стоит запроса на извлечение, я обработаю его позже