मेरे पास स्थानीय स्तर पर क्यूजीआईएस जीथब परियोजना की एक प्रति है, यह कुछ महीने पुरानी है लेकिन मैं यह खोजने में सक्षम था कि यह कहां बदल गया।
यह एपीआई परिवर्तनों की सूची की जाँच करने के लायक है , जिसमें इसका उल्लेख है
dataobjects.getLayerFromString () हटा दिया गया था। इसके बजाय QgsProcessingUtils.mapLayerFromString () का उपयोग करें।
Git लाइन एनोटेशन का उपयोग करते हुए मैं कुछ महीने पहले किए गए एक बदलाव में इसे वापस लाने में सक्षम था ...
ऐसा लगता है जैसे कुछ तरीके ( getObject सहित ) को बाहर निकाल दिया गया था और एक एकल getLayerFromString () विधि के साथ बदल दिया गया था
def getLayerFromString(string, forceLoad=True):
"""Returns an object (layer/table) given a source definition.
if forceLoad is true, it tries to load it if it is not currently open
Otherwise, it will return the object only if it is loaded in QGIS.
"""
...
लेकिन तब से इसे QgsProcessingUtils में स्थानांतरित कर दिया गया है ।
तो आप प्रयोग करके देख सकते हैं QgsProcessingUtils.mapLayerFromString()
यदि QGIS 2.x का उपयोग कर रहे हैं, तो आपको पहले की तरह getObject () का उपयोग करने में सक्षम होना चाहिए print(processing.__dict__['getObject'])