以下代码给出了错误,除了更改播放(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()
答案 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
更改为其他名称。