Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Ошибка eof when reading a line в Питоне - Как с этим бороться?

  1. Ошибка eof when reading a line в Питоне - Как с этим бороться?

    Привет, разрабы! Пытаюсь прочитать файл построчно, а Питон постоянно выбрасывает ошибку eof when reading a line. Вот вообще не понимаю, что за проблема. Может кто-то сталкивался с этим багом и знает, как его обойти? Использую Python 3.8. Может, проблема в кодеке или еще где-то? В общем, жду ваших советов. Ну и если есть примеры кода, вообще огонь будет!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Здарова! Часто такая ошибка из-за криво открытого файла или его отсутствия. Проверял путь ещё раз? Вот пример, как надо правильно открыть файл:

    Программный код:
    with open('file.txt''r'encoding='utf-8') as f:
    for 
    line in f:
    print(
    line.strip()) 
    Можешь так попробовать?

  4. Цитата Сообщение от ElenaPilot
    Здарова! Часто такая ошибка из-за криво открытого файла или его отсутствия. Проверял путь ещё раз? Вот пример, как надо правильно открыть файл:

    Программный код:
    with open('file.txt''r'encoding='utf-8') as f:
    for 
    line in f:
    print(
    line.strip()) 
    Можешь так попробовать?
    Да, кстати, про путь — часто глупые ошибки. Всегда перепроверяю. Пример норм, простой и понятный.

  5. А может быть фишка в том, что сам файл битый? Попробуй открыть его в текстовом редакторе и посмотреть, что там творится. Иногда лечится перезаписью файла.

  6. Цитата Сообщение от Алина
    А может быть фишка в том, что сам файл битый? Попробуй открыть его в текстовом редакторе и посмотреть, что там творится. Иногда лечится перезаписью файла.
    Ну да, битые файлы дело такое, у меня однажды .csv файл так тупил.

  7. Йо, проблема может быть в неправильных концовках строк, особенно если файл из другой ОС. Вспомни про
    и \r
    , такие вот дела. Попробуй добавить обработку концовки строки. Код такой юзал:

    Программный код:
    with open('file.txt''rb') as f:
    lines f.read().splitlines()
    for 
    line in lines:
    print(
    line.decode('utf-8').strip()) 
    Это подправило строковые концы, и баг ушел.

  8. Цитата Сообщение от Кристиана
    Йо, проблема может быть в неправильных концовках строк, особенно если файл из другой ОС. Вспомни про
    и \r
    , такие вот дела. Попробуй добавить обработку концовки строки. Код такой юзал:

    Программный код:
    with open('file.txt''rb') as f:
    lines f.read().splitlines()
    for 
    line in lines:
    print(
    line.decode('utf-8').strip()) 
    Это подправило строковые концы, и баг ушел.
    Не, ну прикольно. Никогда не думал об этом. Определенно стоит попробовать.

  9. Привет! Если файл вдруг пустой, то тоже может выскакивать эта ошибка. Проверь его длину перед чтением:

    Программный код:
    import os

    if os.path.getsize('file.txt') > 0:
    with open('file.txt''r'encoding='utf-8') as f:
    for 
    line in f:
    print(
    line.strip())
    else:
    print(
    'Файл пустой'
    Надеюсь, поможет.

  10. Цитата Сообщение от Мираж
    Привет! Если файл вдруг пустой, то тоже может выскакивать эта ошибка. Проверь его длину перед чтением:

    Программный код:
    import os

    if os.path.getsize('file.txt') > 0:
    with open('file.txt''r'encoding='utf-8') as f:
    for 
    line in f:
    print(
    line.strip())
    else:
    print(
    'Файл пустой'
    Надеюсь, поможет.
    Да, пустой файл — ещё та засада. Базовые проверки часто спасают от непонятных ошибок.

Страница 1 из 2 12 ПоследняяПоследняя