Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

पायमोंगो के साथ कस्टम पायथन ऑब्जेक्ट्स को बीएसओएन के रूप में कैसे एन्कोड करें?


Pymongo के साथ कस्टम अजगर वस्तुओं को BSON के रूप में एन्कोड करने के लिए, आपको एक SONManipulator लिखना होगा। डॉक्स से:

SONManipulator उदाहरण आपको PyMongo द्वारा स्वचालित रूप से लागू किए जाने वाले परिवर्तनों को निर्दिष्ट करने की अनुमति देते हैं।

from pymongo.son_manipulator import SONManipulator
class Transform(SONManipulator):
  def transform_incoming(self, son, collection):
    for (key, value) in son.items():
      if isinstance(value, Custom):
        son[key] = encode_custom(value)
      elif isinstance(value, dict): # Make sure we recurse into sub-docs
        son[key] = self.transform_incoming(value, collection)
    return son
  def transform_outgoing(self, son, collection):
    for (key, value) in son.items():
      if isinstance(value, dict):
        if "_type" in value and value["_type"] == "custom":
          son[key] = decode_custom(value)
        else: # Again, make sure to recurse into sub-docs
          son[key] = self.transform_outgoing(value, collection)
    return son

फिर इसे अपने pymongo डेटाबेस ऑब्जेक्ट में जोड़ें -

db.add_son_manipulator(Transform())

ध्यान दें कि यदि आप चुपचाप एक अजगर सरणी में एक numpy सरणी डालना चाहते हैं तो आपको _type फ़ील्ड जोड़ने की आवश्यकता नहीं है।


  1. पायथन पांडा - एक रेंज इंडेक्स कैसे बनाएं

    RangeIndex बनाने के लिए, pandas.RangeIndex() . का उपयोग करें पंडों में विधि। सबसे पहले, आवश्यक पुस्तकालयों को आयात करें - import pandas as pd RangeIndex, Int64Index का एक मेमोरी-सेविंग स्पेशल केस है, जो मोनोटोनिक रेंज का प्रतिनिधित्व करने तक सीमित है। RangeIndex का उपयोग करने से कुछ मामलों में कंप्

  1. बोकेह (पायथन) में छवियों के साथ कैसे काम करें?

    बोकेह में छवियों के साथ काम करने के लिए, image_url() . का उपयोग करें विधि और छवियों की एक सूची पास करें। कदम किसी फ़ाइल में सहेजे गए आउटपुट को उत्पन्न करने के लिए डिफ़ॉल्ट आउटपुट स्थिति को कॉन्फ़िगर करें जब :func:show कहा जाता है। प्लॉटिंग के लिए एक नया चित्र बनाएं। दिए गए URL से लोड की गई छवियों क

  1. पायथन और बोटो के साथ S3 ऑब्जेक्ट डाउनलोड करें 3

    इस पोस्ट में हम उदाहरण दिखाते हैं कि पायथन और बोटो 3 लाइब्रेरी का उपयोग करके aws S3 बकेट से फ़ाइलों और छवियों को कैसे डाउनलोड किया जाए। बोटो पायथन के लिए एक एडब्ल्यूएस एसडीके है। यह ऐसे कार्यों का उपयोग करने में आसान प्रदान करता है जो ईसी 2 और एस 3 बाल्टी जैसी एडब्ल्यूएस सेवाओं के साथ बातचीत कर सकत