【问题标题】:Str Object Not Callable ErrorStr 对象不可调用错误
【发布时间】:2015-07-08 14:48:09
【问题描述】:

我不熟悉 TypeError: 'str' object is not callable 错误。令人沮丧的是,直到今天这段代码一直有效,而我没有更改与此方法直接相关的任何内容。

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

【问题讨论】:

  • 你能发布完整的回溯吗?仅凭那一行很难弄清楚发生了什么。
  • 你是如何导入date的?您是否有一个名为 date 的变量在隐藏这个类?
  • 我明白了,我将全局变量 date 分配给了页面顶部的某个东西。我导入了日期时间和时间。

标签: python python-2.7


【解决方案1】:

在您的代码的其他地方,您已将字符串分配给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

【讨论】:

  • 好电话。我将全局变量“日期”分配给页面顶部的某个内容。我已经解决了,现在可以正常使用了,谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-04-24
  • 1970-01-01
  • 1970-01-01
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多