LINUX.ORG.RU

'ar'

А на мой взгляд, лучше отдельно открывать для чтения и отдельно для записи

Deleted
()
Ответ на: Так то оно так от KRex

http://man7.org/linux/man-pages/man3/fopen.3.html

Не думаю, что в Python нечто другое. Этот open() наверняка уходит в дебри libc’шного fopen(), а затем в дебри системного вызова open().

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
# text mode
with open('file.txt', 'r+') as f:
    pass

# binary mode
with open('file', 'br+') as f:
    pass
hakavlad ★★★
()

Не получается потому что ты a+ помещает дескриптор в конец файла, поэтому и читать нечего.

Andreezy ★★
()

изучи и glob заодно, это важно, а то всякое бывает

anonymous
()

Как вообще применять этот +

«r+» (или «r+b», если в двоичном режиме) открывает файл и ставит указатель текущей позиции в начало файла. «w+»/«w+b» открывает файл и урезает его до 0 байт, удаляя всё содержимое.

«a+», похоже, ставит указатель на чтение в конец файла (в отличие от сишной функции fopen), но ты его можешь переставить методом seek. Однако записи в режиме «a» на Линуксе (на других платформах — не факт) всегда идут в конец файла, а не в текущую позицию.

proud_anon ★★★★★
()
Ответ на: комментарий от EXL

Не думаю, что в Python нечто другое.

В Python на всех платформах есть разница между текстовым и двоичном режимами (потому что раскодировка текста внутри Python), и ещё «a+» у меня даже на glibc делает seek в конец файла.

proud_anon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.