Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

508
Vistas
Nombre de extensión de archivo: .p vs .pkl vs .pickle

Al leer y escribir archivos pickle, noté que algunos fragmentos usan .p , otros .pkl y algunos el .pickle completo. ¿Hay una forma más pitónica de hacer esto?

Mi opinión actual es que no hay una respuesta correcta y que cualquiera de ellas será suficiente. De hecho, escribir un nombre de archivo como awesome.pkl o awesome.sauce no supondrá una diferencia al ejecutar pickle.load(open(filename, "rb")) . Es decir, la extensión del archivo es solo una convención que en realidad no afecta los datos subyacentes. ¿Está bien?

Bonificación: ¿Qué pasa si guardo una imagen PNG como myimage.jpg ? ¿Qué caos crearía eso?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

La extensión no hace ninguna diferencia porque " The Pickle Protocol " se ejecuta siempre.

Es decir, cada vez que se ejecuta pickle.dumps o pickle.loads, los objetos se serializan/no serializan de acuerdo con el protocolo pickle.

(El protocolo pickle es un formato de serialización )

El protocolo pickle es específico de Python (y hay varias versiones ). En realidad, solo está diseñado para que un usuario reutilice los datos por sí mismo -> si envió el archivo en escabeche a otra persona que tenía una versión diferente de pickle/Python, es posible que el archivo no se cargue correctamente y probablemente no pueda hacer nada. útil con ese archivo en escabeche en otro lenguaje como Java.

Por lo tanto, use las extensiones que desee porque el pickler las ignorará .

JSON es otra forma más popular de serializar datos, también puede ser utilizado por otros lenguajes a diferencia de pickle; sin embargo, no se adapta directamente a python y, por lo tanto, no comprende ciertos tipos de variables:/

fuente si quieres leer más

EDITAR: si bien podría usar cualquier nombre, ¿cuál debería usar?

  • 1 Como lo mencionó @Mike Williamson, .pickle se usa en los documentos de pickle

  • 2 El módulo json de la biblioteca estándar de python carga archivos con la extensión .json . Entonces seguiría que el módulo pickle cargaría una extensión .pickle .

  • 3 El uso de .pickle también minimizaría cualquier posibilidad de uso accidental por parte de otros programas.

Las extensiones .p son utilizadas por algunos otros programas, sobre todo MATLAB como sufijo para archivos binarios en tiempo de ejecución [fuentes: uno , dos ]. Cierto riesgo de conflicto

.pkl es utilizado por algunas ventanas oscuras "Archivo de lista de empaque del asistente de migración" [ fuente ]. Increíblemente bajo riesgo de conflicto.

.pickle solo se usa para el decapado de python [ fuente ]. Sin riesgo de conflicto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda