【发布时间】:2017-06-27 21:36:54
【问题描述】:
我对编程很陌生,我希望我能准确地描述我的问题。 我想监视我的键盘输入,但我得到了这个 TypeError: on_press() missing 1 required positional argument: 'key'。
当我单独实现该功能时,它工作正常。
from pynput import keyboard
def on_press(key):
keys=[]
try: k = key.char # single-char keys
except: k = key.name # other keys
#if key == keyboard.Key.esc: return False # stop listener
if k in ['down', 'left', 'right',"up"]: # keys interested
# self.keys.append(k) # store it in global-like variable
#print('Key pressed: ' + k)
keys.append(k)
return keys
lis = keyboard.Listener(on_press=on_press)
lis.start() # start to listen on a separate thread
lis.join() # no this if main thread is polling self.keys
...但是如果我从主函数调用该函数
pressed_key = on_press()
出现如下错误:
File "<ipython-input-7-c3f93c434982>", line 80, in main
pressed_key = on_press()
TypeError: on_press() missing 1 required positional argument: 'key'
如果您有任何想法,请告诉我!
【问题讨论】:
-
错误消息告诉您缺少参数。
on_press()函数获取按下的键,而您没有传递它。 -
请正确缩进代码