Метод write() файла Python3

Python3 File(文件) 方法Методы файлов Python3


Обзор

write()Метод используется для записи указанной строки в файл.

До закрытия файла или сброса буфера содержимое строки хранится в буфере, поэтому вы не сможете увидеть записанное содержимое в файле.

Если режим открытия файла включает b, то при записи содержимого файла параметр str должен быть преобразован в байтовую форму с помощью метода encode, иначе возникает ошибка: TypeError: a bytes-like object is required, not 'str'.

Синтаксис

Синтаксис метода write() выглядит следующим образом:

fileObject.write( [ str ])

Parameters

  • fileObject-- файловый объект, обычно получаемый при открытии файла функцией open().

  • str-- строка для записи в файл.

Метод write() записывает указанную строку в файл. Позиция записи зависит от текущего положения указателя файла:

  • Если файл открыт в режиме добавления ("a"или"a+"), записанное содержимое будет добавлено в конец файла.

  • Если файл открыт в режиме чтения-записи ("r+"или"w+"), записанное содержимое перезапишет исходное содержимое, начиная с текущей позиции указателя файла.

Возвращаемое значение

Возвращает количество записанных символов.

Пример

Содержимое файла example.txt следующее:

1:www.example.com
2:www.example.com
3:www.example.com
4:www.example.com
5:www.example.com

В следующем примере демонстрируется использование метода write():

Пример

#!/usr/bin/python3

# Использовать инструкцию with для открытия файла, обеспечивая его правильное закрытие
with open("example.txt", "r+") as fo:
    print("Имя файла: ", fo.name)

    # Записать строку в конце файла
    fo.seek(0, 2)  # Переместить указатель файла в конец файла
    fo.write("6:www.example.com\n")  # Записать содержимое и добавить символ новой строки

    # Прочитать всё содержимое файла
    fo.seek(0)  # Переместить указатель файла в начало файла
    for index, line in enumerate(fo):
        print("Строка файла %d - %s" % (index, line.strip()))

Вывод приведенного выше примера:

文件行号 0 - 1:www.example.com
文件行号 1 - 2:www.example.com
文件行号 2 - 3:www.example.com
文件行号 3 - 4:www.example.com
文件行号 4 - 5:www.example.com
文件行号 5 - 6:www.example.com

Просмотр содержимого файла:

$ cat example.txt 
1:www.example.com
2:www.example.com
3:www.example.com
4:www.example.com
5:www.example.com
6:www.example.com

Примечания

  1. Режимы файлов:

    • Если файл открыт в режиме только для чтения ("r"), при вызовеwrite()вызоветio.UnsupportedOperationисключение.

    • Если файл открыт в режиме записи ("w"или"w+"), содержимое файла будет очищено, после чего будет записано новое содержимое.

    • Если файл открыт в режиме добавления ("a"или"a+"), записанное содержимое будет добавлено в конец файла.

  2. Указатель файла:

    • Операция записи начинается с текущей позиции указателя файла. Если нужно записать с начала или с определённой позиции, можно использоватьseek()метод для перемещения указателя файла.

  3. Символ новой строки:

    • write()Метод не добавляет новую строку автоматически. Если нужна новая строка, необходимо явно добавить\n。

  4. Возвращаемое значение:

    • write()Метод возвращает количество записанных символов. Если запись не удалась, может быть вызвано исключение.


Python3 File(文件) 方法Методы файлов Python3

Другие расширения