簡體   English   中英

Python中的Adwords數組,沒有屬性“ get”

[英]Adwords Array in Python, has no attribute 'get'

我試圖弄清楚為什么Adwords API生成的數組沒有屬性“ get”。

這是示例的網址: https : //github.com/googleads/googleads-python-lib/blob/master/examples/adwords/v201506/basic_operations/add_text_ads.py

它只是返回我:

AttributeError: 'AdGroupAd' object has no attribute 'get'

數組不是空的,我只是想在我的2維數組中檢查ad ['ad'] ['url']之類的東西是否存在,然后再向mysql數據庫中插入任何東西。 我用以下方法進行了測試: if ad in ad.get(url, {}):

有人可以幫忙嗎? 謝謝。

編輯:通過使用解決:

如果廣告['ad']中為“ url”:

關於Python命名約定的一些小話題-Python中沒有array類的東西(雖然有,但被稱為list )。 您要查找的名稱是字典

關於您的問題-在我看來,您的測試中有一個變量名沖突:
if ad in ad.get(url, {}):
您的變量ad屬於AdGroupAd類型,但是當您像進行比較一樣比較時,第二個ad也屬於AdGroupAd類型,因為您不能將2個不同的對象綁定到一個名稱:

>>> ad = {'a': 'foo'}
>>> ad = 1
>>> if ad in ad.get('c', {}):
...     pass
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'get'

只需使用另一個名稱命名AdGroupAd對象,它就可以正常工作:
if ad in ads.get(url, {}):

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM