Gå til innhold

Anbefalte innlegg

Er ferskis med Python og kom derfor borti en sak jeg ikke klarer å løse.

Jeg ønsker å kjøre programmet i en loop (while-løkke) helt til en tast på

tastaturet trykkes. Jeg skriver ikke i Tk eller noe grafisk miljø ennå.

Skjønner ikke hvordan jeg skal få programmet til å registrere

et bestemt tastetrykk for å avbryte løkken :-(

 

Ser det er støtte for dette i en modul hvis jeg programmerer i

Windows. Nå har det seg slik at programmet skal brukes både på

en gammel Win98 PC og en Linux-PC, så scriptet bør være

mest mulig kompatibelt. Vil ikke bruke noen proprietært

fra Microsoft iallfall! :-p

 

På forhånd takk!

Lenke til kommentar
Videoannonse
Annonse

Dette må implementeres per plattform og da naturlignok med en propitiær API på windowsplattformen. Dessuten vil en evigvarende loop etterhvert dra opp noe kolossalt av både minne og cpu-kraft, så ei callback-basert løsning med glib eller liknende i QT/TK, vil være å foretrekke.

 

Utover det, har jeg tidligere laga noe slikt, men jeg greier ikke finne det nå. Hva skal du med dette egentlig?

Lenke til kommentar
Dette må implementeres per plattform og da naturlignok med en propitiær API på windowsplattformen. Dessuten vil en evigvarende loop etterhvert dra opp noe kolossalt av både minne og cpu-kraft, så ei callback-basert løsning med glib eller liknende i QT/TK, vil være å foretrekke.

 

Utover det, har jeg tidligere laga noe slikt, men jeg greier ikke finne det nå. Hva skal du med dette egentlig?

8017549[/snapback]

Ok, jeg trodde det kanskje var en enkel løsning ettersom f.eks.

variabel = raw_input("skriv inn noe: ")

fungerer på tvers av Win og Linux.

 

Hva jeg skal bruke det til?

Nei, nesten for dumt å ta opp her :-D

Men la oss si at noe skal genereres på skjermen helt til

brukeren avbryter med et vilkårlig tastetrykk.

Forsåvidt kunne det også ha vært fra musen, men

regner med det er lettere å få til m.h.a. tastaturet.

Lenke til kommentar

Hva med å gjøre det enklere for deg selv ved å begense deg til Ctrl-c og fange unntaket:

 

 

 

from time import sleep
while True:
   try:
       print ".",
       sleep (0.5)
   except KeyboardInterrupt:
       break

Alternativt kan du jo sjekke for OS og skrive platform-spesifikk kode.

For windows finnes det et 3. parts bibliotek; PyHook. Tror du finner noe der. Vet ikke for Linux.

Endret av zeitgeist
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...