Método Python3 File write()
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
# 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
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.
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 usar
seek()el método para mover el puntero del archivo.
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。
Valor de retorno:
write()El método devuelve el número de caracteres escritos. Si la escritura falla, puede lanzar una excepción.
Otras extensiones