Почему я не могу прочитать ни одного символа в этом коде Python - PullRequest
2 голосов
/ 21 марта 2012

Я знаю, w+ означает и read, и write, затем я пишу этот код, чтобы прочитать какое-то сообщение из текстового файла и записать в него какое-то сообщение

Это мой код:

f = open('test', 'w+')
f.write('yes yes yes\n')
print f.read()
......
f.close()

когда я запускаю его, он печатает только новую строку и не печатает yes yes yes

затем я открываю test файл, я обнаружил, что yes yes yes был в нем!

Почему это просто печатать новую строку, но печатать yes, и в чем разница между w+ & r+

Ответы [ 2 ]

11 голосов
/ 21 марта 2012

Вы должны поместить курсор в начало файла перед чтением.

f.seek(0)
f.read()
2 голосов
/ 21 марта 2012

Чтобы ответить на часть 2 вопроса

`` r '' Открыть текстовый файл для чтения.Поток располагается в начале файла.

`` r + '' Открыт для чтения и записи.Поток располагается в начале файла.

`` w '' Усечение файла до нулевой длины или создание текстового файла для записи.Поток располагается в начале файла.

`` w + '' Открыт для чтения и записи.Файл создается, если он не существует, в противном случае он усекается.Поток располагается в начале файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...