Python str对象没有属性' __ getattr __'

时间:2015-12-13 15:39:43

标签: python

我是Python的新手,我无法弄清楚她的错误:

def SomeDato(): 
  today = datetime.date.today()
  todayStr = idag.strftime('%d.%m.%y')  
  return todayStr

def AnotherFunctionWithinTestComplete()
  strArg = SomeDato()
  datoToCheck = dato.contentText #dato.contentText returns "13.12.15. 16:29"
  if datoToCheck.startswith(strArg):
    do something here....

我收到此错误:str object has no atribute '__getattr__'if datoToCheck.startswith(strArg)一致。

2 个答案:

答案 0 :(得分:0)

strftimedatetime类的一种方法(在datetime模块中有点令人困惑地定义),所以用

调用它
from datetime import datetime

datetime.strftime(today, '%d.%m.%y')

其中today是日期时间类型。也可以使用today.strftime('%d.%m.%y')作为实例方法调用此方法。你的例子中idag是什么?错误消息表明它是一个字符串。如果您想将idag转换为datetime这可以通过datetime.strptime(idag, '%d.%m.%y')来实现,假设它位于'%d。%m。%y&#39 ;格式已经。

答案 1 :(得分:0)

抱歉,我的代码是丹麦语,显然我并没有翻译所有内容。现在应该没问题了:

#returns 13.12.15
def SomeDate(): 
  today = datetime.date.today()
  todayStr = today.strftime('%d.%m.%y')  
  return todayStr

def AnotherFunctionWithinTestComplete()
  # finds an element in the DOM tree 
  date = Aliases.browser.MyPage.FindChildByXPath("some xPath") 
  strArg = SomeDate()
  #date.contentText returns "13.12.15 16:29"
  dateToCheck = date.contentText
  if dateToCheck.startswith(strArg):
    do something here....

我刚刚意识到,如果我这样写:

def AnotherFunctionWithinTestComplete()
  # finds an element in the DOM tree 
  date = Aliases.browser.MyPage.FindChildByXPath("some xPath") 
  strArg = SomeDate()
  #date.contentText returns "13.12.15 16:29"
  dateToCheck = date.contentText + "" 
  if dateToCheck.startswith(strArg):
    do something here....

然后它成功了。所以dateToCheck = date.contentText +""而不是dateToCheck = date.contentText有所不同。有什么区别?