Python错误 - int对象没有属性

时间:2014-02-27 10:58:27

标签: python python-2.7

以下代码给出了错误,除了更改播放(winsound)声音的模块之外,这在Windows上的Python2.6上运行良好。不确定我在这个问题上出了什么问题。这是在以前在Windows机器上的Linux机器上运行的。 Windows上的版本是2.6,Linux上的版本是2.7.3。

  

回溯(最近一次呼叫最后一次):文件“CallsWaiting.py”,第9行,   在       first_time = time.time()AttributeError:'int'对象没有属性'time'

import _mysql
import sys
import time
import os
import pygame
pygame.init()

time = 3
first_time = time.time()
last_time = first_time

while True:
    pass
    new_time = time.time()
    if new_time - last_time > timeout:
        last_time = new_time
        os.system('cls')
        iswaiting = 0

        print "Calls Waiting: "

        con = _mysql.connect(host='oip-prod', port=3308, user='admin', passwd='1234', db='axpdb')

        con.query("select callswaiting from callcenterinformation where date - date(now()) and skillid = 2 order by time desc limit 1;")
        result = con.user_result()
        iswaiting = int('',join(result.fetch_row() [0]))

        print "%s" % \
            iswaiting

        if iswaiting > 0:
            print "Calls are waiting!"
            pygame.mixer.init()
            sounda = pygame.mixer,Sound("ring2.wav")
            sounda.play()

3 个答案:

答案 0 :(得分:8)

由于time = 3被声明为整数, time.time没有任何意义,因为时间是int变量(不是类,而是原始数据类型)。我想您希望调用time(模块)编写time,但是,由于您将其重新定义为整数,因此最后一个定义会影响time模块

time变量名称更改为其他名称,例如myTime

错误消息很有用,您应该阅读它们。答案通常直接包含在此错误/警告消息中

答案 1 :(得分:0)

你有可变的时间:

time = 3 

您之前已导入包裹时间:

import time

当你尝试

time.time() 

您似乎尝试调用可变时间的方法time()(包含int)。

您应该重命名它,它将找出与包名称的冲突。

答案 2 :(得分:0)

您声明time变量。虽然time是从import语句导入的模块。因此,当您访问time.x时,它会尝试访问变量而不是module

将变量名称或导入模块time更改为其他名称。