Estoy bastante seguro de que hay, como incluso he podido editar/leer de los archivos fuente de los scripts que he ejecutado, pero el mayor problema probablemente sería todo el cambio que se haría si comenzó al principio del archivo. Por otro lado, si revisa el archivo y registra todas las posiciones iniciales de las líneas, puede ir en el orden inverso de la posición para copiar las líneas; Una vez hecho esto, puede volver atrás, tomar los nuevos archivos, uno a la vez, y (si son lo suficientemente pequeños), usar readlines() para generar una lista, invertir el orden de la lista y luego buscar el comienzo del archivo y sobrescribe las líneas en su orden anterior con las líneas en su nuevo.
(Truncaría el archivo después de leer el primer bloque de líneas al final usando el método truncate()
, que trunca todos los datos más allá de la posición actual del archivo si se usa sin ningún argumento además del del objeto de archivo, asumiendo que ' Puede usar una de las clases o una subclase de una de las clases del paquete io
para leer su archivo. Simplemente debe asegurarse de que la posición actual del archivo termine al principio de la última línea para escribir en un archivo. nuevo archivo.)
EDIT: con base en su comentario sobre tener que hacer las separaciones en las etiquetas de cierre correctas, probablemente también tendrá que desarrollar un algoritmo para detectar dichas etiquetas (quizás usando el método peek
), posiblemente usando una expresión regular.
Lo sentimos, no entiendo de qué se trata . –
Corrígeme si me equivoco, pero está intentando dividir un archivo muy grande en partes más pequeñas. Sin embargo, dado que el archivo es tan grande, ya que crea particiones, necesita eliminar esa parte del archivo original para ahorrar espacio. –
@Jesse - Eso es correcto. – AlbertoPL