El módulo copyreg define funciones que se utilizan para decapar objetos específicos mientras se decapan o copian. Este módulo proporciona información de configuración sobre constructores de objetos (pueden ser funciones de fábrica o instancias de clase) que no son clases.
copyreg.constructor(objeto)
Esta función se usa para declarar un objeto como un constructor válido. Un objeto no se considera un constructor válido si no se puede llamar. Esta función genera TypeError si el objeto no se puede llamar.
copyreg.pickle(tipo, función, constructor=Ninguno)
Esto se usa para declarar función como una función de «reducción» para objetos de tipo tipo. La función debe devolver una string o una tupla que contenga dos o tres elementos.
El parámetro constructor es opcional. Es un objeto invocable que se puede usar para reconstruir el objeto cuando se llama con la tupla de argumentos devueltos por la función en el momento del decapado. TypeError se genera si el objeto es una clase o el constructor no se puede llamar.
Ejemplo :
# Python 3 program to illustrate # use of copyreg module import copyreg, copy, pickle class B(object): def __init__(self, a): self.a = a def pickle_b(b): print("pickling a C instance...") return C, (b.a, ) copyreg.pickle(B, pickle_b) b = B(1) d = copy.copy(b) print (d) r = pickle.dumps(b) print (r)
Producción :
pickling a C instance... pickling a C instance... b'\x80\x03c__main__\nC\nq\x00K\x01\x85q\x01Rq\x02.'
Este artículo es una contribución de Aditi Gupta . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA