Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/34: Рейтинг темы: голосов - 34, средняя оценка - 4.88
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647

Могут ли пробелы в языке Python стать причиной ошибки?

21.11.2018, 18:39. Показов 7278. Ответов 48
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
скажите, могут ли пробелы между операторами языка или строками быть причиной вот этой ошибки.
IndentationError: expected an indented block
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.11.2018, 18:39
Ответы с готовыми решениями:

Может ли блок питания стать причиной лагов?
Здравствуйте. В последнее время стали лагать игры (Watch_Dogs, Dota 2). Грешил на температуру (76 градусов). Поменял кулер, температура...

Может ли стать неисправная видюха причиной выхода из строя мамки?
Отдал товарищ видюху. У него накрылась мамка и старая видюха не подошла к новой материнке. Разъем не тот. Обнаружил на видюхе...

Что есть причиной ошибки?
Здравствуйте. Задача: Функция, принимает в качестве параметров: многозначное целое число, символ – разделитель. Возвращает строку...

48
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
23.11.2018, 13:52
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от saladdd Посмотреть сообщение
как неиспользовался вот же
Это если будет ошибка. А если нет?
При нормальном выполнении кода ошибок быть не должно - и тогда строчка бессмысленна.
Я же вам говорю - в вашем коде нет логики. Поэтому все так печально.
И сколько раз мне еще повторять, что писать контекстный менеджер без вложенного блока нельзя?
У вас там синтаксическая ошибка, но вы до сих пор не понимаете почему.
Посмотрите на пример Black Fregat, может хоть что-то у вас прояснится.

P.S. Вам пока бесполезно писать коды - вы синтаксис до сих пор не поняли. Возьмите Лутца и читайте, читайте, читайте....
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
23.11.2018, 14:49  [ТС]
Garry Galler, лутса читаю , но там нету простых примеров.

Добавлено через 21 минуту
Garry Galler, синтаксис я действительно полностью не понял , до конца , но меня воодушевляет то что очень много документации хотя каждая из них написана по своему.
да и где можно посмтреть в Марк лутсе или не в марк лутсе, как правильно ставить отступы с примерами.
Именно с примерами.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
23.11.2018, 15:20
Изучаем Python.
Часть III Инструкции и синтаксис
Гл. 10 Ведение в инструкции.
Гл. 11 Присваивания, выражения
Гл. 12 ...
Гл. 13 ...
и т.д.

Вы уже должны были дойти до этого и раз пять перечитать, если сразу не устаканилось.
Я у Лутца синтаксическую часть читал по диагонали, потому что до Python уже писал на языке с отступами и похожим синтаксисом. Этого мне хватило, чтобы понять Python c полуслова.
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
23.11.2018, 16:07  [ТС]
Garry Galler, как вам повезло
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
24.11.2018, 16:24  [ТС]
Garry Galler, моглибы вы уточнить название книги у меня есть:
1.Бизли Д. - Python. Подробный справочник (4-е изд.) - 2010.pdf
2.Марк Лутц - Программирование на Python. Том 1.pdf
3.Марк Лутц - Программирование на Python. Том 2.pdf
4.Простой Python.pdf
5.Mark_Lutts_-_Programmirovanie_na_Python_4-e_izd.pdf
спасибо!
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
24.11.2018, 17:02
Я имел ввиду первую книгу Лутца - Изучаем Python. Вторую - Программирование на Python - нужно читать после первой, кроме случая, если синтаксис языка не вызывает вопросов, либо пройден по другой книге или документации.
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
25.11.2018, 12:08  [ТС]
Garry Galler, Да и кстате почему вы счетаите , что в коде нет логики?
Если мне надо просто переписать из лога всё в cvs файл, чтобы в дальнейшем было легко работать.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
25.11.2018, 12:52
Цитата Сообщение от saladdd Посмотреть сообщение
почему вы счетаите , что в коде нет логики
Сравните свой код с тем вариантом (в предположении, что вы хотите этого), который вам написал Black Fregat .
В нем есть логика. То есть правильная последовательность необходимых операций. В вашем коде - нет.
Но вы этого не понимаете, потому что не знаете как выделять логику блоками, а блоки - отступами.
1
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
25.11.2018, 13:37  [ТС]
Garry Galler,
Да black_frigate отличный ко написал спасибо ему.
Python
1
2
3
4
5
6
7
8
9
10
   try:
    with open('access_log.csv', 'w', newline="") as file:
        writer=csv.writer(file)
        with open('access_log','r') as f:
            for line in f:
                token=line.replace(' - - ', ' ').split()
                writer.writerow(token)
    data = pd.read_csv('access_log.csv')
   except Exception as e:
    print(e)
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
26.11.2018, 23:26  [ТС]
Garry Galler,
скажите почему если поставить
Python
1
 print(line)
или
Python
1
print(token)
на экран ничего не выводится
конечный файл не создаётся , даже изначальный файл нечитается выходит.
Python
1
2
3
4
for line in f:
                token=line.replace(' - - ', ' ').split()
                print(line)
                writer.writerow(token)
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
27.11.2018, 00:34
access_log пустой.
Если это не так - покажите скрин выполнения этой команды в IDLE:
Python
1
open('access_log','r').readlines()[:10]
Добавлено через 1 минуту
P.S. Почему у вас пробелы снова скачут? В примере Black Fregat все нормально - у вас опять какая-то ерунда.
Число пробелов должно в отступе должно быть всегда одинаковым. Не ставьте их вручную.
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
27.11.2018, 03:44  [ТС]
Garry Galler,
Python
1
2
3
4
5
6
7
8
9
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170118] on linux
Type "copyright", "credits" or "license()" for more information.
>>> open('access_log','r').readlines()[:10]
Traceback (most recent call last):
  File "<pyshell#0>", line 1, in <module>
    open('access_log','r').readlines()[:10]
FileNotFoundError: [Errno 2] No such file or directory: 'access_log'
>>>
0
151 / 86 / 35
Регистрация: 05.08.2017
Сообщений: 257
27.11.2018, 07:48
Питон говорит что нету такого файла
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
27.11.2018, 23:46  [ТС]
Resistanse, в чём же может дело права стоят все на чтение и запись.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
28.11.2018, 00:00
Цитата Сообщение от saladdd Посмотреть сообщение
No such file or directory
Вы путь до файла не указали. Поэтому он и не найден. С чего вы решили, что python должен его найти сам?
Путь можно не указывать только в том случае, если вы гарантированно знаете какая директория на момент запуска скрипта является рабочей (а она может быть какой угодно) и что она совпадает с каталогом файла.
Либо рабочую директорию можно изменить прямо в скрипте, сделав ее равной директории скрипта или иного файла.
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
28.11.2018, 00:09  [ТС]
Garry Galler, но раньше всё работало , а что такое изменилось в такое в скрипте, что сейчас он работает по другому.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
28.11.2018, 00:15
Цитата Сообщение от saladdd Посмотреть сообщение
а что такое изменилось в такое в скрипте
Вы его запустили из другой рабочей директории. Вот что поменялось.
Я же вам написал - не бывает так, чтобы рабочая директория для скрипта была всегда одной и той же.
Рабочая директория - это вовсе не каталог, где он находится.
Она меняется в зависимости от способа запуска программы. Из cmd\bash - будет одна рабочая директория (та, которую устанавливает сама оболочка), из IDE - другая, из IDLE - третья.
Ну что я вам объясняю - это же азы курса Операционных систем...
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
28.11.2018, 04:01
Garry Galler, я Вас зауважал. Это какое нужно иметь терпение и одновременно уважение к новичку, чтобы, являясь профессионалом высокого уровня, так долго объяснять новичку базовое понятие синтаксиса языка Python. Ему просто нужно взять книгу Лутц М. "Изучаем Python" стр.328-332 (которую можно скачать из интернета) или любой другой учебник. И прочитать про структуру текста программы на Python. Это основа, с которой нужно начать изучать составные инструкции Python.
Вот что пишет Лутц об отступах в составных инструкциях (блоках):
" Интерпретатор не накладывает ограничений на то, как выполняются отступы (для этого можно использовать символы пробела или символы табуляции), и на величину отступов (допускается использовать любое число пробелов или символов табуляции). При этом отступ для одного вложенного блока может существенно отличаться от отступа для другого блока. Синтаксическое правило состоит лишь в том, что все инструкции в пределах одного блока должны иметь один и тот же отступ от левого края. Если это не так, будет получена синтаксическая ошибка, и программный код не будет работать, пока вы не исправите отступ. Наконец, имейте в виду, что практически любой текстовый редактор с дружественным (для программистов) интерфейсом обладает встроенной поддержкой синтаксической модели языка Python. В Python-среде разработки IDLE, например, отступы оформляются автоматически1, когда начинается ввод вложенного блока; нажатие клавиши Backspace (забой) возвращает на один уровень вложенности выше, а кроме того, IDLE позволяет настроить величину отступов во вложенном блоке.
Нет никаких стандартных требований к оформлению отступов: чаще всего используются четыре пробела или один символ табуляции на каждый уровень вложенности; вам самим решать, какой ширины отступы вы будете использовать. Выполняйте отступ вправо, чтобы открыть вложенный блок, и возвращайтесь на предыдущий уровень, чтобы закрыть его. Вообще говоря, недопустимо смешивать символы табуляции и пробелы для оформления отступов в одном и том же блоке, если делать это не единообразно. Для оформления отступов в блоке используйте либо символы табуляции, либо пробелы, но не одновременно те и другие. Вложенные инструкции объединяются в блоки по величине отступов. Тело блока завершается либо с концом файла, либо с первой инструкцией, имеющей меньший отступ.
0
1 / 1 / 1
Регистрация: 23.04.2014
Сообщений: 647
03.12.2018, 04:50  [ТС]
Garry Galler, скажите но я проставил все пути , проверил есть ли файл в нужной директории и он есть права вот такие
вот права на файл
Bash
1
2
vladislav@saladdd:~/Документы/python$ ls -l access_log
-rwxrwxrwx 1 vladislav vladislav 3060588 дек  7  2017 access_log
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import sys
import os
import csv
import pandas as pd
from var_dump import var_dump
from collections import defaultdict
ip_new={} 
bad_ip = {}
rows = defaultdict(list)
print(os.getcwd())
print(os.listdir())
def save(text):     
  handle = open(".htaccess", "a")
  handle.write("allow from "+text+"\n")
  handle.close()
  
def is_there_such_ip(ip):
   
   handle = open(".htaccess", "r")
   data=handle.read()
   handle.close()  
   if(data.find(ip)>-1):
      return True
   else:return False
   
 
   try:
    with open(os.getcwd()+'access_log.csv', 'w') as file:
        writer=csv.writer(file)
 
        with open(os.getcwd()+'access_log','r') as f:
            for line in f:
                token=line.replace(' - - ', ' ').split()
                print(line)
                writer.writerow(token)
    data = pd.read_csv('access_log.csv')
   except Exception as e:
    print(e)
0
Фрилансер
 Аватар для Black Fregat
3709 / 2083 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
03.12.2018, 08:55
Цитата Сообщение от saladdd Посмотреть сообщение
Python
1
open(os.getcwd()+'access_log','r')
Вы уверены, что эта конструкция вставит правильный разделитель между именем папки и файла?
Подозреваю, они просто слились. Используйте
Python
1
os.path.join(os.getcwd(), 'access_log')
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2018, 08:55
Помогаю со студенческими работами здесь

Как вещественные числа могут стать целыми?
Ввести одномерный массив вещественных чисел. Если все элементы исходного массива, имеющие целое значение стоят на четных местах, то создать...

Могут ли сведения о готовящемся теракте стать поводом объявления войны?
Какие сведения и какие действия одного государства или ряда государств позволяют другому государству напасть - первым объявить войну? ...

Что может быть причиной ошибки в Structural Equation Modeling?
В общем есть 6 временных рядов длинной 10. Я захожу в Structural Equation Modeling и выбираю Path Wizards-&gt;Structural modeling. В первом...

Что является причиной ошибки после завершения всех операций? (динамический массив)
Что является причиной ошибки после завершения всех операций? (динамический массив) #include &lt;iostream&gt; #include...

Как стать python программистом?
Привет!;) Появилось большое желание стать python программистом. А именно научиться делать ботов Telegram, Vk, Whatsapp и др. Также...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru