Método Python3 File write()

Python3 File(文件) 方法Métodos de Python3 File (archivo)


Resumen

write()El método se utiliza para escribir la cadena especificada en el archivo.

Antes de que el archivo se cierre o de que el búfer se actualice, el contenido de la cadena se almacena en el búfer; en este momento no podrás ver el contenido escrito en el archivo.

Si el modo de apertura del archivo incluye 'b', al escribir contenido en el archivo, el parámetro str debe convertirse a formato bytes mediante el método encode; de lo contrario, se producirá un error: TypeError: a bytes-like object is required, not 'str'.

Sintaxis

La sintaxis del método write() es la siguiente:

fileObject.write( [ str ])

Parámetros

  • fileObject-- Objeto de archivo, normalmente se obtiene después de abrir el archivo con la función open().

  • str-- La cadena que se escribirá en el archivo.

El método write() escribe la cadena especificada en el archivo; la posición de escritura depende de la posición actual del puntero del archivo:

  • Si el archivo se abre en modo de adición ("a"o"a+"), el contenido escrito se añadirá al final del archivo.

  • Si el archivo se abre en modo de lectura/escritura ("r+"o"w+"), el contenido escrito sobrescribirá el contenido original comenzando desde la posición actual del puntero del archivo.

Valor de retorno

Devuelve la longitud de los caracteres escritos.

Ejemplo

El contenido del archivo ejemplo.txt es el siguiente:

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

El siguiente ejemplo demuestra el uso del método write():

Ejemplo

#!/usr/bin/python3

# Usar la instrucción with para abrir el archivo, asegurando que se cierre correctamente
with open("ejemplo.txt", "r+") as fo:
    print("Nombre de archivo: ", fo.name)

    # Escribir una línea al final del archivo
    fo.seek(0, 2)  # Mover el puntero del archivo al final
    fo.write("6:www.example.com\n")  # Escribir el contenido y agregar un salto de línea

    # Leer todo el contenido del archivo
    fo.seek(0)  # Mover el puntero del archivo al inicio
    for index, line in enumerate(fo):
        print("Número de línea del archivo %d - %s" % (index, line.strip()))

El resultado del ejemplo anterior es:

文件行号 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

Ver el contenido del archivo:

$ cat ejemplo.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

Notas

  1. Modo de archivo:

    • Si el archivo se abre en modo de solo lectura ("r"), llamar awrite()lanzará unaio.UnsupportedOperationexcepción.

    • Si el archivo se abre en modo de escritura ("w"o"w+"), el contenido del archivo se vaciará y luego se escribirá el nuevo contenido.

    • Si el archivo se abre en modo de adición ("a"o"a+"), el contenido escrito se añadirá al final del archivo.

  2. Puntero del archivo:

    • La operación de escritura comienza desde la posición actual del puntero del archivo. Si necesitas escribir desde el principio del archivo o desde una posición específica, puedes usarseek()el método para mover el puntero del archivo.

  3. Salto de línea:

    • write()El método no agrega automáticamente un salto de línea. Si necesitas un salto de línea, debes agregarlo explícitamente en la cadena.\n。

  4. Valor de retorno:

    • write()El método devuelve el número de caracteres escritos. Si la escritura falla, puede lanzar una excepción.


Python3 File(文件) 方法Métodos de Python3 File (archivo)

Otras extensiones