我不熟悉TypeError:' str' object不可调用错误。这令人沮丧,因为这段代码一直在用到今天,我还没有改变与这种方法直接相关的任何东西。
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 :(得分: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