2011-05-20 20 views
5

Estoy leyendo un archivo en Python. Después de leer un montón de líneas, ¿hay alguna función conveniente que pueda usar para obtener el número de línea actual en el archivo en el que se encuentra el cursor?¿Cómo encontrar el número de línea del cursor en Python?

Estoy tratando de abstenerse de utilizar un contador ya que tengo múltiples funciones que leen el mismo archivo y puede mover el cursor por todo el lugar.

Gracias

Respuesta

1

algo así como enumerate? No hay realmente un "cursor" por decir, pero lo siguiente le dará el número de línea actual mientras lee un archivo línea por línea.

for i, line in enumerate(file): 
    print i, line 
+0

El problema con esto es que tengo varias funciones que leen el mismo archivo por lo que este método no funcionaría. Estoy tratando de abstenerme de usar una variable global para hacer un seguimiento del movimiento si puedo. – David

0

Es probable que deba hacer un seguimiento de ello por separado, junto con su archivo. Puede envolver su objeto de archivo para incluir un contador. Python solo hace un seguimiento de qué tan avanzado está en términos de bytes, y no tiene forma de moverse en función de los números de línea.

Editar: Estoy corregido. La sugerencia de S.Lott de fileinput es perfecta.

Cuestiones relacionadas