¿Cuál es la forma más pirónica de abrir un archivo?

Estoy tratando de limpiar mi código un poco, y tengo problemas para calcular cuál de estas dos formas se considera la más pirónica.

import os dir = os.path.dirname(__file__) str1 = 'filename.txt' f = open(os.path.join(dir,str1),'r') 

Aunque el segundo parece ser el más limpio, encuentro la statement de fullPath demasiado, ya que solo se utilizará una vez.

 import os dir = os.path.dirname(__file__) str1 = 'filename.txt' fullPath = os.path.join(dir,str1) f = open(fullPath,'r') 

En general, ¿es mejor evitar las funciones de llamada dentro de otra llamada, incluso si agrega una línea de código?

 with open('file path', 'a') as f: data = f.read() #do something with data 

o

 f = open(os.path.join(dir,str1),'r') f.close() 
 file = open('newfile.txt', 'r') for line in file: print line 

O

 lines = [line for line in open('filename')] 

Si el archivo es enorme, read () es definitivamente una mala idea, ya que carga (sin parámetro de tamaño), el archivo completo en la memoria.

Si su archivo es enorme esto causará latencia!

Por lo tanto, no recomiendo leer () o leer líneas ()

Hay muchas formas de abrir archivos en python, lo que significa que realmente no existe una forma pythonica de hacerlo. Todo se reduce a qué método se ve más intrigante, especialmente en lo que realmente se intenta hacer con el archivo una vez que está abierto.

La mayoría de los usuarios usan el “clic” IDI GUI para abrir archivos porque les permite ver el archivo actual y también hacer algunas modificaciones si es necesario.

Otros pueden simplemente confiar en las líneas de comando para realizar la tarea, al costo de no poder hacer nada más que abrir el archivo.

Usando líneas de comando:

  1. % python myfile.py

tenga en cuenta que para que esto funcione, debe asegurarse de que el sistema esté “buscando” en el directorio donde está almacenado su archivo. Usar el ‘cd’ es útil para encontrar su ruta allí.

  1. % python import myfile myfile.title

Este método se conoce como el método object.attribute de abrir archivos. Este método es útil cuando el archivo que está abriendo tiene una operación que le gustaría implementar.

Hay más formas de las que se mencionaron anteriormente, asegúrese de consultar los pyDocs para obtener más detalles.