Gå til innhold

[Python] Starte program og trykke på tastaturet uten å trykke


Anbefalte innlegg

Her kommer en liten Python utfordring... Har tenkt å prøve meg på den selv også, men er usikker på hvor lang tid det vil ta og hvor bra det vil gå. Skal ihvertfall få snekret sammen litt kode som jeg kan legge ut senere.

 

Det som skal gjøres er enkelt;

1. Starte et linuxprogram via terminallinjen

2. Vente 3 sek mens programmet starter

3. Trykke pil ned, tab, tab og enter eller mellomrom

 

 

Så... noen som vil prøve seg?

Lenke til kommentar
Videoannonse
Annonse

Noen hint.

Starter notepad i windows.

>>> from subprocess import call,Popen
>>> call('notepad')
0
>>> Popen('notepad', shell=True)
<subprocess.Popen object at 0x034599D0>

Starter gedit linux.

subprocess.call('/usr/bin/gedit', shell=True)

 

 

2. Vente 3 sek mens programmet starter

time.sleep(3) sover i 3 sek.

3. Trykke pil ned, tab, tab og enter eller mellomrom

Linux xautomation og xdotool

Windows SendKeys

Endret av SNIPPSAT
Lenke til kommentar

Kom så langt som dette på egenhånd;

 

# Her brukes latin-1 koding. coding:latin-1

# Her importeres os for å kjøre terminalkommandoer 
import os

# Importerer funksjonen sleep fra modulen time
from time import sleep


# Kjører en terminalkommando
os.system('xfce4-display-settings --minimal')

# Venter 3 sekunder før skriptet fortsetter
sleep(3) 

Lenke til kommentar

Hva med å ta i bruk subprocess og kjøre det i bakgrunnen i python og bare lese stdout og skrive til stdin ? :)

 

Dette gitt at det ikke er et GUI-programm

 

Hørtes fet ut det, men det er et GUI-program. Andre forslag? Gjerne med kode :)

Endret av HerrIlevik
Lenke til kommentar

Her kommer forsøk to, denne gang med subprocess for å starte GUI programmet.

 

Da mangler bare trinn tre som går ut på å sende tastatur trykk til GUI vinduet som spretter opp.

 

# Her brukes latin-1 koding. coding:latin-1

# Her importeres funksjonen call fra modulen subprocess. Call brukes for å kjøre terminalkommandoer 
from subprocess import call

# Importerer funksjonen sleep fra modulen time
from time import sleep



# Kjører en terminalkommando som åpner et GUI program
call('xfce4-display-settings --minimal', shell=True)

# Venter 3 sekunder før skriptet fortsetter
sleep(3) 

Endret av HerrIlevik
Lenke til kommentar
  • 2 uker senere...

Kommentarene var mest for egen læring.

 

Beklager hvis de fornærmet intelligensen din Martin.

 

Det var i grunn for din egen del. En trenger ikke en gang kunne Python for å skjønne hva dette gjør.

from time import sleep

 

Det er mye bedre å skrive hvorfor du gjør det, enn hva du gjør.

  • Liker 2
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...