Keyboard TypeError:write()参数必须是str,而不是list
def文件输入(已录制):Keyboard TypeError:write()参数必须是str,而不是list,keyboard,keylogger,Keyboard,Keylogger,def文件输入(已录制): now_time = datetime.datetime.now() w = open("LOG.txt", 'a') w.write(recorded) w.write("\n") w.write(now_time) w.write("--------------------------------------") w .close() 如果name==“main”: 我正试图用python编写一个键盘记录程序,我遇到了这样的类型错误,我该如何解决这个问题 我只是
now_time = datetime.datetime.now()
w = open("LOG.txt", 'a')
w.write(recorded)
w.write("\n")
w.write(now_time)
w.write("--------------------------------------")
w .close()
如果name==“main”:
我正试图用python编写一个键盘记录程序,我遇到了这样的类型错误,我该如何解决这个问题
我只是将记录的变量放入write()中,它会产生类型错误,记录的变量类型是list。因此,我尝试使用join func,但它不起作用您尝试使用
w.write()
写入文件,但它只接受字符串作为参数。
now\u time
是“datetime”类型,而不是字符串。如果不需要设置日期格式,您可以改为:
w.write(str(nowtime))
同样的事情
w.write(recorded)
recorded
是一个事件列表,您需要使用它来构造一个字符串,然后再尝试将该字符串写入文件。例如:
recorded = keyboard.record(until='enter')
typedstr = " ".join(keyboard.get_typed_strings(recorded))
然后,在file\u input()
函数中,您可以:
w.write(typedstr)
通过更改为
w.write(str(recorded))
解决了我的问题。在某些情况下,当将字符串写入文本文件时仍会出现编码问题,\u content函数可能会很有用
w.write(str(recorded._content))
w.write(str(recorded._content))