Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

510
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!