Форум сайта python.su
Порылся по форумам, результат:
import os
while 1:
a = os.popen("./a.out")
if a.readlines()[0].strip(): break
#include <stdlib.h>
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
int mykbhit(void)
{
int fd;
char c;
fd = fileno(stdin);
fcntl(fd, F_SETFL, O_NONBLOCK);
if (read(fd, &c, sizeof(char)) < 0)
return 0;
return 1;
}
int main()
{
int res;
res = mykbhit();
if(res)
printf("1\n");
else
printf("\n");
return res;
}
Отредактировано (Янв. 7, 2012 18:22:54)
Офлайн
если нажмете кнопку во время работы питона, то утилита наверно не отловит нажатие.
а вообще, решение с потоками в “100” раз лучше.
Офлайн
o7412369815963А не упоминавшееся тут решение с использованием tkinter наверное в 101 раз лучше. Короче будет и разрабатывалось для привненсения интерактивности.
решение с потоками в “100” раз лучше
Офлайн
o7412369815963Отлавливает. Вроде всё то же самое можно сделать через модуль fcntl в питоне. Как в следующий раз понадобится, доделаю :)
если нажмете кнопку во время работы питона, то утилита наверно не отловит нажатие.
Офлайн