python - time.sleep 需要整数?

标签 python time integer sleep pyhook

我正在编写一个宏,当我按下一个键时,它会点击屏幕上的特定位置。

我第一次按下一个键,一切正常。
但是,任何其他按键都会导致错误:

    time.sleep(0.1)
TypeError: an integer is required

代码如下:

import win32api
import win32con
import time
import pythoncom
import pyHook
import os

def Click(x,y):
    win32api.SetCursorPos((x,y))
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,x,y,0,0)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,x,y,0,0)

def DeleteRun(event):
    Click(1250, 741)
    time.sleep(0.1)
    Click(649,261)
    time.sleep(0.1)
    Click(651, 348)
    time.sleep(0.1)
    Click(800, 442)
    time.sleep(0.1)
    Click(865, 612)


Click(20,20)
KeyGrabber = pyHook.HookManager()
KeyGrabber.KeyDown = DeleteRun
KeyGrabber.HookKeyboard()
pythoncom.PumpMessages()

DeleteRun函数似乎是第一次被pyHook运行,time.sleep()接受 float 。
在任何后续函数调用中,它似乎只接受整数。

这是什么原因造成的?
鼠标布置我都等不了5秒了!它应该可以节省时间!

规范:

  • python 2.7.2
  • Windows 7 (32)

最佳答案

好的,这个怎么样?给 DeleteRun 添加一个 return True:

def DeleteRun(event):
    Click(1250, 741)
    time.sleep(0.1)
    [...]
    return True

我可能应该承认这只不过是 google-fu:阅读 this question 的答案.

关于python - time.sleep 需要整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762440/

相关文章:

android - 设置 Toast 出现长度

python - 函数输出为整数(TypeError : must be str, 不是 int)

Python 数组不工作

python - Kivy:设置标签文本然后在一秒钟后更改它

vb.net - Linq:按时间间隔分组

c++ - 控制QTimer的时间?

c - 如何将 'build' 的一个 long 值从 2 个 int 值拆分回其 2 个整数?

java - 将 long 转换为整数是如何工作的?

python - scipy.cKDTree.sparse_distance_matrix 的奇怪行为

python - 无法将 R 日期序数准确转换为 Python