Пауза во время выполнения программы

vikonder

Новичок
Пользователь
Янв 4, 2023
1
0
1
Как корректно сделать паузу в выполнении программы:
Python - 3.11
Visual Studio Code


- Во первых, модули keyboard, getch, выбранные для это цели,
после установки через pip - изначально выглядят коряво (PyCharm - аналогично)
ScreenHunter_696 Jan. 04 20.24.jpg
- во-вторых, попытки использования разбиваются о что, этот аттрибут не виден

для примера: (старый добрый Snake)

есть файл snake.py с методом pause()




Python:
import keyboard

Class Snake:
...
    def pause(self):
        print("Press the Space key to continue")
        while True:
            if self.keyboard.is_pressed('space'):
                break

И главное тело программы (main.py) где создаётся экземпляр этого класса


Python:
from turtle import Screen
from snake import Snake

screen = Screen()
screen.setup(width=600, height=600)
screen.bgcolor("black")

snake = Snake()

screen.onkeypress(snake.pause, " ")
...

ошибка:-
File "c:\Python\Snake_game\snake.py", line 47, in pause
if self.keyboard.is_pressed('space'):
AttributeError: 'Snake' object has no attribute 'keyboard'

Аналогично, если пытаюсь использовать getch
На одном уровне, без классов

Python:
from getch import getkey

def pause():
    print("Нажмите клавишу Пробел, чтобы продолжить")
    while True:
        key = getkey()
        if key == " ":
            break

pause()

Ошибка:
File "c:\Python\test.py", line 1, in <module>
from getch import getkey
ModuleNotFoundError: No module named 'getch'

Может быть есть универсальные решения для остановки выполнения программы по какой-то клавише ('Space')?
Или же модули устанавливаются некорректно...
 
Последнее редактирование:

ergeco

Новичок
Пользователь
Янв 4, 2023
2
0
1
Попробуй метод sleep(). Просто при нажатии какой-либо кнопки, пишешь sleep(в секундах). Я писал игру на пигейме и делал паузу. Чекни может пригодится...
 

robisho

Активный пользователь
Пользователь
Окт 19, 2020
151
26
28
попробуйте библиотеку msvcrt. обсуждение и результат здесь
 

Форум IT Специалистов