2015-07-08 4 views
-1

Я не знаком с TypeError: объект 'str' не является вызываемой ошибкой. Это расстраивает, потому что этот код всегда работал до сегодняшнего дня, и я не изменил ничего, непосредственно связанного с этим методом.Str Объект, не вызываемый ошибкой

линия, которая говорит Python является виновником:

start_date = date(2015, 5, 20) 

Всего метод: Помилование курицы скретч комментариев.

def daterange(start_date, end_date): 
    for n in range(int ((end_date - start_date).days)): 
     yield start_date + timedelta(n) 

#DOESN'T FETCH ALL THE DOMAINS FOR WHATEVER REASON 
#Search for new domains, written by Todd 
#1. add to a running set, 'grabbedDomains' 2. add output file for each day run 3. write to master CSV 
def domainSearch(search_term): 
    """ 
    Function registrant_monitor_data_details provides searching over a range of dates, this allows script to be ran once a week or at whatever 
    interval we need. May or may not need de-duplicating, will find out during testing. 
    """ 
    #Today's date; date of domains we're searching for 
    start_date = date(2015, 5, 20) 
    end_date = date(2015, 6, 26) 
    #single_date.strftime("%Y-%m-%d") 
    for single_date in daterange(start_date, end_date): 
    #today = time.strftime("%Y-%m-%d") 
     results = client.registrant_monitor_data_details(date= single_date.strftime("%Y-%m-%d"), term=search_term) 
     data = results['data'] 
     if type(data) is dict: 
      for alert in results['data']['alerts']: 
       print "{0} - {1}".format(alert['domain'], alert['created']) 
       #Adds domains to the global set to be added to the case 
       global domainList 
       domainList.append("{0}".format(alert['domain'])) 
    #Gets domain details from DIPITS by date and search term (email address), RETURNS DICTIONARY 

    #Prints search results, should be domains registered by search term 
    print "LENGTH, ", len(domainList) 

    return results 
+0

Можете ли вы разместить полный обзор? Трудно понять, что происходит с этой линией. –

+7

Как вы импортировали ['date'] (https://docs.python.org/2/library/datetime.html)? У вас есть переменная с именем 'date' где-то, которая скрывает этот класс? – CoryKramer

+0

Я понял, я присвоил дату глобальной переменной чему-то в верхней части страницы. Я импортировал дату и время. –

ответ

4

Где-то в вашем коде, вы назначили строку date.

from datetime import date # usual import 
date(2015, 7, 8) # this works 
date = "hello" # replace date with a string 
date(2015, 7, 8) # causes TypeError 
+0

Хороший звонок. Я назначил глобальную переменную 'date' для чего-то в верхней части страницы. Я исправил это, и он отлично работает, спасибо! –

Смежные вопросы