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

Как исправить list index out of range и cannot unpack non-iterable NoneType object?

13.05.2024, 21:30. Показов 663. Ответов 6

Студворк — интернет-сервис помощи студентам
Как можно это исправить/переделать?

Произошла ошибка при обработке файла: list index out of range
Произошла ошибка при обработке файлов: cannot unpack non-iterable NoneType object

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
39
40
41
42
43
import os
import string
 
def calculate_time(file_path, months, years):
    try:
        with open(file_path, 'r') as file:
            content = file.read()
            dates = content.split(' ')
            i = 0;
            for i in range(len(dates)):
                numbers = dates[i].split('/')
                months.append(numbers[1])
                years.append(numbers[2])
            return months, years
    except FileNotFoundError:
        print(f"Файл {file_path} не найден.")
    except ValueError:
        print(f"Некорректный формат данных в файле {file_path}.")
    except Exception as e:
        print(f"Произошла ошибка при обработке файла {file_path}: {str(e)}")
 
 
def process_files(folder_path, output_file_name1, output_file_name2):
    try:
        files = os.listdir(folder_path)
        averages = []
        for file_name in files:
            file_path = os.path.join(folder_path, file_name)
            months = []
            years = []
            months, years = calculate_time(file_path, months, years)
            print(months, years)
 
        with open(output_file_name1, 'w') as output_file:
            for months in averages:
                output_file.write(str(months) + '\n')
        with open(output_file_name2, 'w') as output_file:
            for years in averages:
                output_file.write(str(years) + '\n')
    except FileNotFoundError:
        print(f"Папка {folder_path} не найдена.")
    except Exception as e:
        print(f"Произошла ошибка при обработке файлов: {str(e)}")
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.05.2024, 21:30
Ответы с готовыми решениями:

Ошибка cannot unpack non-iterable nonetype object
import pyautogui from PIL import Image from time import sleep pyautogui.FIALSAFE = True sleep(2) x, y =...

TypeError: cannot unpack non-iterable NoneType object
import requests API_KEY = 'my api key' def get_price_and_volume(symbol): url =...

TypeError: 'NoneType' object is not iterable. Как исправить
Собственно, сам код. import requests import json from bs4 import BeautifulSoup import chardet import xlsxwriter import re ...

6
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
13.05.2024, 22:52
Про отладку программ
2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
15.05.2024, 16:41
Для начала, удалить ВСЕ try-except, запустить и посмотреть на текст выдачи при ошибках. Самое важное: в каком операторе происходит та или иная ошибка. Дальше - нужно смотреть. Делай и выкладывай результаты.
2
0 / 0 / 0
Регистрация: 24.12.2022
Сообщений: 31
15.05.2024, 18:05  [ТС]
Traceback (most recent call last):
File "C:\Users\Lenovo\PycharmProjects\pythonP roject8\main.py", line 55, in <module>
process_files(folder_path, output_file_name1, output_file_name2)
File "C:\Users\Lenovo\PycharmProjects\pythonP roject8\main.py", line 41, in process_files
months, years = calculate_time(file_path, months, years)
File "C:\Users\Lenovo\PycharmProjects\pythonP roject8\main.py", line 29, in calculate_time
months.append(numbers[1])
IndexError: list index out of range

Process finished with exit code 1
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
15.05.2024, 19:43
Rembys, сообщение об ошибке не соответствует твоему исходнику. У тебя нет строки 55.

Но кое-что понять все-таки можно. Главная ошибка - list index out of range - выход индекса за границу списка. Происходит это в строке 29 того исходника, который ты запускаешь. (А в исходнике, который ты выложил, 29-я строка имеет другое содержание).

Но Питон показывает нам строку с ошибкой. Это

Python
1
months.append(numbers[1])
Что же здесь может вызвать ошибку? Список numbers либо пуст, либо содержит один элемент, а ты обращаешься ко второму. Почему это происходит? Скорее всего, дело в данных, которые читаются из файла.

Это все, что можно пока сказать.

И у меня тоже есть вопросы: Ты сам писал этот код? Умеешь программировать? Знаешь Питон? Если ответы отрицательные, то лучше сначала поучиться.
0
0 / 0 / 0
Регистрация: 24.12.2022
Сообщений: 31
15.05.2024, 20:04  [ТС]
Да. Писал я. Учусь. Не соответствие строк из-за того что я задание которое работает здесь в этом же файле вырезал.

Добавлено через 44 секунды
Первое задание я вырезал. Со вторым и мучаюсь.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
15.05.2024, 20:24
Rembys, и?... Не важно, из-за чего несоответствие. Его важно устранить. Тогда я мог бы чем-то помочь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2024, 20:24
Помогаю со студенческими работами здесь

Как исправить ошибку list index out of range?
Здравствуйте. Пишу на игру &quot;Змейка&quot; и не могу понять в чём проблема: Вот код: from tkinter import * import random window =...

TypeError: cannot unpack non-iterable int object
Добрый день Вот код# -*- coding: utf-8 -*- &quot;&quot;&quot; This Example will show you how to use register_next_step handler. &quot;&quot;&quot; import...

В задаче вылазит ошибка list index out of range , как исправить?
Задача Заданы две целочисленные матрицы, каждая из которых состоит из N строк и M столбцов. Требуется вычислить их сумму. Входные...

NoneType' object is not iterable
numbers = lst= for i in numbers: lst1.append(i) for j in range(i): if j // 2 == 0 and j !=0: ...

NoneType object is not iterable
Добрый вечер! Выдаёт ошибку: &quot;for i, num in enumerate(nums): TypeError: 'NoneType' object is not iterable&quot;. def check(nums,...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru