Python file.read () в Ubuntu

1

Функция Python file.read() ничего не читает. Он всегда возвращает '' независимо от того, что внутри файла. Что это может быть? Я знаю, что это должно быть что-то прямолинейное, но я не могу понять.

UPD. Я пытался использовать режимы "r" и "w +".

UPD: код был:

    >>> file = open('helloworld', 'w+')
    >>> file.read()
    ''

Решение: мне пришло в голову, что, хотя файл доступен для чтения в режиме "w +", Python усекает его после открытия. Вместо этого следует использовать режим "r" (или "r +" ). Спасибо всем.

  • 4
    Пожалуйста, опубликуйте пример фрагмента кода, который не работает.
Теги:
file

1 ответ

2
Лучший ответ

Предостережение: я просто догадываюсь о поведении, которое не работает:

Если вы работаете в интерпретаторе Python,
и вы делаете что-то вроде этого:

>>> f = open('myfile.txt', 'r')
>>> f.read()

... вы получите весь файл, напечатанный на экране.

Но если вы сделаете это снова:

>>> f.read()
''

... вы получаете пустую строку.

Итак, если вы еще этого не сделали, попробуйте перезапустить ваш интерпретатор.

Из документация:

"Чтобы прочитать содержимое файла, вызовите f.read(size), который читает некоторое количество данных и возвращает его как строку. size - необязательный числовой аргумент. Когда размер опущен или отрицателен, все содержимое файл будет считан и возвращен, его проблема, если файл в два раза больше, чем память вашего компьютера. В противном случае считываются и возвращаются в большинстве байтов размера. Если конец файла достигнут, f.read() вернется пустую строку (" ").

Ещё вопросы

Сообщество Overcoder
Наверх
Меню