首页 > 解决方案 > 运行 pyinstaller 应用程序时无法启动循环

问题描述

我在一个循环中有一个循环,它只是一个自动点击器

from pyautogui import *
import pyautogui
import time
import keyboard
import win32api, win32con

stop = 'n'
while stop =='n':
    time.sleep(2)
    while keyboard.is_pressed('q') == False :
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
        time.sleep(0.01)
        win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
    stop = input("stop ? n/y")

当我尝试使用 pyinstaller 使其成为 exe 时

pyinstaller --onefile pythonScriptName.py

它只是给了我一个应用程序文件,但是一个空白屏幕,它什么也没做,我该如何解决这个问题?

标签: pythonpyinstaller

解决方案


问题是您在每个 while 循环结束时都要求输入:

stop = input("stop ? n/y")

但是由于您没有打开终端,因此脚本无法获取输入并且循环不会继续。

编辑:我将如何解决这个问题:

while true:   
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
    time.sleep(0.01)
    win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
    if keyboard.is_pressed('c'): break

我没有测试它,但代码应该看起来类似。


推荐阅读