En proyectos recientes, se requiere la función de carga por lotes de informes diarios. Solo se toma una foto, se comparten todos los informes diarios y se deben guardar varias copias, así que úsela directamente al iterar.
file.save(filename)
Salvado
Resultó que los archivos guardados por segunda vez estaban mal y no se podían abrir. La investigación encontró que todos los archivos están vacíos.
Más tarde me di cuenta de que esto se debe a que el puntero también apunta hacia atrás cuando se está escribiendo el archivo. Todos los archivos en espera se escriben en el disco y el puntero también apunta al final
Entonces necesitas que el puntero del archivo apunte al estado inicial
file.save(filename)
file.seek(0)
Por supuesto, cuando se restaura el puntero, también se encontrará en otros escenarios, como
file.read()
file.save()
Y así sucesivamente, dondequiera que haya archivos o flujos de datos que necesiten usar punteros, almacenar varias veces requiere punteros que apunten al estado inicial.