python hosting

Cómo administrar archivos en Python

Publicado por
Comparte en redes sociales


En cualquier lenguaje de programación, la gestión de archivos es un aspecto importante. Y Python también admite trabajar con archivos en diferentes modos, como leer y escribir en archivos, etc.

Al final de este tutorial, podrá:

  • abrir y leer archivos en Python,
  • leer las líneas de un archivo de texto,
  • escribir y agregar a archivos, y
  • use administradores de contexto para trabajar con archivos en Python.

Cómo leer un archivo en Python

Para abrir un archivo en Python, puede usar la sintaxis general: open('file_name','mode').

  • Aquí mismo, file_name es el nombre del archivo.

Notar: Si el archivo que desea abrir está en el directorio de trabajo actual, solo puede mencionar el nombre del archivo. Si está en otra carpeta de su entorno de trabajo, debe incluir la ruta del archivo.

  • El parámetro mode especifica el modo en el que desea abrir el archivo.

El modo predeterminado para abrir un archivo es leer-denotado por la letra 'r'. Sin embargo, se recomienda especificar explícitamente el modo.

Antes de comenzar, veamos el archivo. lib.txtque usaremos en este ejemplo.

📁 Descargue el archivo de texto y el código utilizado en este tutorial desde este repositorio de GitHub.

El fragmento de código a continuación muestra cómo puede abrir un archivo de texto 'lib.txt' en Python usando open() funcionar y leer su contenido.

file = open('lib.txt','r')
contents = file.read()
print(contents)
file.close()


# Output
Hello, there!
Here are a few helpful Python libraries:
1) NumPy
2) pandas
3) matplotlib
4) seaborn
5) scikit-learn
6) BeautifulSoup
7) Scrapy
8) nltk
9) Bokeh
10) statsmodels

En el ejemplo anterior,

  • los open() La función devuelve un objeto de archivo, y elegimos llamarlo file.
  • Entonces llamamos a la read() método en file.
  • La variable contents ahora contiene el contenido del archivo. Y lo imprimimos.
  • Finalmente, cerramos el archivo.

Sin embargo, si olvida cerrar el archivo, habrá una posible pérdida de recursos. Si trabaja con una gran cantidad de estos archivos, el uso de memoria puede ser alto. Esto se debe a que abrió varios archivos pero no cerró ninguno.

Ahora aprendamos una mejor manera de abrir archivos usando administradores de contexto. El fragmento de código a continuación muestra cómo puede usarlos.

with open('lib.txt','r') as f:
  contents = f.read()
  print(contents)

Cuando utilice administradores de contactos para trabajar con archivos, no es necesario que utilice el close() método. Los archivos se cierran automáticamente cuando se completa la operación de E/S.

Cómo leer líneas de un archivo en Python

En nuestro archivo de texto de muestra, solo teníamos unas pocas líneas. Así que leer todo el contenido del archivo a la vez no fue un problema.

Leer también  Best Tool to Boost Your Social Media Management
cryptoshitcompra.com/wp-content/uploads/2022/03/Como-administrar-archivos-en-Python.png» alt=»archivo de lectura de Python» class=»wp-image-82207″/>

Sin embargo, cuando necesite leer archivos grandes, utilice read() método, como se indicó anteriormente, puede no ser muy eficaz.

De hecho, si el archivo de texto es muy grande, es posible que se quede sin memoria rápidamente. Por eso es posible que desee leer líneas de solo lectura de un archivo de texto, y aprenderá cómo hacerlo en esta sección.

Usando el método readline() de Python para leer líneas de un archivo

los readline() El método lee una línea a la vez del archivo.

Ejecute el siguiente fragmento de código.

with open('lib.txt','r') as f:
  line = f.readline()
  print(line)
  line = f.readline()
  print(line)


# Output
Hello, there!

Here are a few helpful Python libraries:

Puedes ver que después de la primera readline() llamada al método, se imprime la primera línea del archivo. Y la segunda llamada a readline() El método devuelve la segunda línea del archivo.

Esto se debe a que después de la primera llamada al método, el puntero del archivo se encuentra al principio de la segunda línea.

En Python, puede usar el tell() método para obtener la ubicación actual del puntero del archivo. Y para mover el puntero del archivo a una ubicación específica, puede usar el seek() método.

En el fragmento de código a continuación, usamos f.seek(0) después de la primera llamada al método. Esto mueve el puntero del archivo al principio del archivo de texto. Es por eso que en ambas ocasiones se imprime la primera línea del archivo.

with open('lib.txt','r') as f:
  line = f.readline()
  print(line)
  f.seek(0)
  line = f.readline()
  print(line)


# Output
Hello, there!

Hello, there!

Usando el método readlines() de Python para leer líneas de un archivo

Hay otro método estrechamente relacionado llamado readlines().

Cuando ejecute el siguiente fragmento de código, verá que el readlines() El método devuelve una lista de todas las líneas del archivo.

with open('lib.txt','r') as f:
  lines = f.readlines()
  print(lines)


# Output
['Hello, there!\n', 'Here are a few helpful Python libraries:\n', 
'1) NumPy\n', '2) pandas\n', '3) matplotlib\n', 
'4) seaborn\n', '5) scikit-learn\n', '6) BeautifulSoup\n', 
'7) Scrapy\n', '8) nltk\n', '9) Bokeh\n', '10) statsmodels\n', '\n']

Usar el bucle for de Python para leer líneas de un archivo

Para leer líneas de un archivo de texto, también puede usar el for lazo.

Una vez que tenga un objeto de archivo, puede usar for loop para recorrer el contenido del archivo, una línea a la vez, e imprimirlo, como se muestra a continuación. Tenga en cuenta que solo accedemos a una línea a la vez y no leemos todo el contenido del archivo.

with open('lib.txt','r') as f:
  for line in f:
    print(line, end='')

Notar: Al usar Python print() función, el separador predeterminado es una nueva línea:'\n' personaje. Pero en el archivo original, no tenemos estas nuevas líneas. Así que establezca el argumento del separador en una cadena vacía: sep = '' para imprimir el contenido del archivo tal cual.

Cómo leer fragmentos de contenido de un archivo en Python

En Python, también puede optar por leer el contenido del archivo en pequeños fragmentos.

Leer también  13 Best Stock Screeners to Narrow Down Your Investment Choices

Lea el código a continuación:

  • Aquí establecemos el chunk_size para 50. Esto significa que se leerán los primeros 50 caracteres del archivo y también los imprimiremos.
  • Ahora llámalo tell() método en objeto de archivo f. Puede ver que el puntero del archivo ahora está en la posición 51, que es como se esperaba.
chunk_size = 50
with open('lib.txt','r') as f:
  chunk = f.read(chunk_size)
  print(chunk)
  current = f.tell()
  print(f"Current position of file pointer: {current}")

# Output
Hello, there!
Here are a few helpful Python librar
Current position of file pointer: 51

También puede usar esta técnica para reproducir el archivo completo en pequeños fragmentos.

El siguiente fragmento de código muestra cómo puede hacerlo.

chunk_size = 50
with open('lib.txt','r') as f:
  chunk = f.read(chunk_size)
  print(chunk,end='')

  while(len(chunk)>0):
    chunk = f.read(chunk_size)
    print(chunk,end='')

# Output
Hello, there!
Here are a few helpful Python libraries:
1) NumPy
2) pandas
3) matplotlib
4) seaborn
5) scikit-learn
6) BeautifulSoup
7) Scrapy
8) nltk
9) Bokeh
10) statsmodels

Aquí usamos un while bucle para leer el contenido del archivo. Leemos el contenido del archivo en fragmentos de tamaño 50 hasta llegar al final del archivo. ✅

Cómo escribir en un archivo en Python

Para escribir en un archivo de texto en Python, debe abrirlo en modo de escritura especificando 'w'.

png» alt=»python-escribir-en-archivo» class=»wp-image-82206″/>

El fragmento de código siguiente muestra cómo hacerlo.

with open('new_file.txt','w') as f:
  f.write('Hello, Python!')

verás que 'new_file.txt' fue creado en su directorio de trabajo.

Ahora ejecute la celda de código anterior nuevamente.

En tu terminal ejecuta el siguiente comando:

cat new_file.txt

# Output: Hello, Python!

Idealmente, escribimos dos veces en el archivo. Entonces Hello, Python! debería haber sido impreso dos veces, ¿sí?

Pero verás que se imprimió una sola vez. Bueno, eso es porque cuando abres un archivo en escribe (w) modo, básicamente aplastar el contenido del archivo con contenido nuevo.

Si usted lo desea agregar al final del archivo sin sobrescribir el contenido existente, debe abrir el archivo en el agregar Moda. Y verás cómo hacerlo en el siguiente apartado.

Leer también  ¿Cómo usar Python cURL?

Cómo agregar a un archivo en Python

Si desea agregar contenido a un archivo sin sobrescribirlo, ábralo en el agregar Moda.

Para hacer esto, use `'a'a para agregar— y especificar explícitamente el modo.

Luego ejecute la siguiente celda de código dos veces.

with open('new_file.txt','a') as f:
  f.write('Hello, Python!')

Observe cómo el texto ahora se imprime dos veces, ya que lo agregamos al archivo.

cat new_file.txt

# Output: Hello, Python!Hello, Python!

Conclusión

Resumamos rápidamente lo que hemos visto en este tutorial.

  • Aprendió operaciones comunes de E/S de archivos, como leer, escribir y agregar a un archivo.
  • Además, también ha aprendido a utilizar el buscar() método para mover el puntero del archivo a una posición específica, y
  • como usar el decir() método para recuperar la posición actual del puntero del archivo.

Espero que hayas encontrado útil este tutorial. Ahora que ha aprendido a trabajar con archivos de texto en Python, aprenda a trabajar con archivos JSON en Python.



Source link

Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.

Direcciones de Billetera:

- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS 

- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe 

- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f

- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx 

También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:

-Twitter

- Telegram

Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *