Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 时间。睡眠需要整数吗?_Python_Time_Integer_Sleep_Pyhook - Fatal编程技术网

Python 时间。睡眠需要整数吗?

Python 时间。睡眠需要整数吗?,python,time,integer,sleep,pyhook,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(

我正在编写一个宏,当我按下某个键时,它会单击屏幕上的某些点

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

    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()
pyHook
似乎是第一次运行
DeleteRun
函数,
time.sleep(
)接受浮动。
在下面的任何函数调用中,它似乎只接受整数

这是什么原因造成的?
我等不及5秒钟鼠标的安排了!这应该可以节省时间

规格:

  • python 2.7.2
  • 视窗7(32)

我不确定Windows这次出了什么问题,但您可以尝试使用没有文件描述符的select()来假装高精度睡眠。

好的,这个怎么样?将返回True添加到DeleteRun:

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

我应该承认,这只不过是google fu:阅读的答案。

你能做
将时间作为时间安全导入
并用
时间安全
代替
时间吗?也许pyHook在利用
时间
类做些什么。恐怕没有成功。然而,我注意到它交替工作和失败。可能会特别尝试从时间导入睡眠
?尝试:
在任何其他模块之前导入时间,functools
,并使用
sleep=functools.partial(time.sleep,0.1)
,然后在
删除运行(事件):。。。Sleep()…
这两个:运气都不好。“sleep()TypeError:需要一个整数”你能给我一个实现的例子吗?还有另一个问题,可能是相关的。