Inhoudsopgave:

Automatisch screenshots opslaan in Windows met een Python-script: 4 stappen
Automatisch screenshots opslaan in Windows met een Python-script: 4 stappen

Video: Automatisch screenshots opslaan in Windows met een Python-script: 4 stappen

Video: Automatisch screenshots opslaan in Windows met een Python-script: 4 stappen
Video: 30 ultieme Windows 10-tips en -trucs voor 2020 2024, Juli-
Anonim
Automatisch screenshots opslaan in Windows met een Python-script
Automatisch screenshots opslaan in Windows met een Python-script

Gewoonlijk moeten we in vensters, om een screenshot (afdrukscherm) op te slaan, eerst een screenshot maken en dan paint openen, dan plakken en tenslotte opslaan.

Nu zal ik je leren hoe je een python-programma maakt om het te automatiseren.

Dit programma maakt een map met de naam 'shots' op uw bureaublad en slaat schermafbeeldingen op in een nieuwe map binnen shots met de tijd waarop ze zijn gemaakt toen u op de PrtScn-toets drukt en verlaat het programma wanneer Ctrl + PtrScn wordt ingedrukt.

U moet python 3.7 geïnstalleerd hebben, een teksteditor (ik gebruikte Sublime Text 3), autopy en pynput python-pakketten

Stap 1: Autopy en Pynput installeren

Nadat u python 3.7 hebt geïnstalleerd, opent u cmd (opdrachtprompt) en typt u het volgende:

pip autopy installeren

druk op Enter. Hiermee wordt het autopy-pakket geïnstalleerd. Nadat dit is gedaan, typt u:

pip installeer pynput

om het pynput-pakket te installeren.

Stap 2: Coderen

Open uw teksteditor en typ het volgende:

datum/tijd importeren

import os import autopy van pynput.keyboard import Key, Listener

typ dan:

exit_combination = {Sleutel.ctrl_l, Sleutel.print_screen}

momenteel_pressed = set()

dit stelt de toetsencombinatie in om het programma af te sluiten wanneer de gebruiker op een combinatie van toetsen drukt, in dit geval is het Left Ctrl + PrtScn.

Typ dan:

path="c://Users//"+os.getlogin()+"//Desktop//shots//"+str(datetime.date.today())

probeer: os.makedirs(pad) behalve FileExistsError: pass

Dit maakt een map met de naam shots op je bureaublad en daarin een andere map met de huidige datum. De os.getlogin() wordt gebruikt om de huidige gebruiker te krijgen.

Typ dan:

met Luisteraar(on_press=on_press, on_release=on_release) als luisteraar:

luisteraar.join()

hier luistert de Listener-functie naar toetsaanslagen en de join() wordt gebruikt om ze te verzamelen totdat ze worden losgelaten.

Laten we nu de functies definiëren, typ ze direct na de importinstructies, voor 'exit_combination'.

We moeten 3 functies definiëren: on_press, on_release en check_key.

on_press en on_release zijn functies die vereist zijn voor de Listener-functie.

def on_press(key): check_key(key) if toets in exit_combination: momenteel_pressed.add(key) if now_pressed == exit_combination: listener.stop()

deze functie neemt de parameter 'key' en geeft deze door aan de functie check_key(key). Vervolgens controleert het of de toets zich in de exit-combinatie bevindt, d.w.z. de combinatie van toetsen die moet worden ingedrukt om het programma af te sluiten, als dat zo is, stopt het met het uitvoeren van de luisterfunctie.

Typ dan:

def on_release(key): probeer: momenteel_pressed.remove(key) behalve KeyError: pass

hierdoor wordt de toets uit de momenteel ingedrukte set verwijderd.

Typ dan:

def check_key(key): if key == Key.print_screen: shot = autopy.bitmap.capture_screen() now = datetime.datetime.now() timenow = now.strftime("%H_%M_%S") path = " c://Users//"+os.getlogin()+"//Desktop//shots//"+str(datetime.date.today()) probeer: shot.save(path+'//'+timenow+'.png') behalve FileNotFoundError: os.makedirs(pad) shot.save(pad+'//'+timenow+'.png')

Deze functie vergelijkt de momenteel ingedrukte toets met de opgegeven toets (print_screen-toets), als deze overeenkomt, wordt een screenshot gemaakt met behulp van de capture_screen() van de autopy-bibliotheek en wordt deze opgeslagen in de variabele 'shot'.

Vervolgens wordt de padvariabele opnieuw gedefinieerd om de huidige datum te gebruiken (dit wordt gedaan om een nieuwe map met de huidige datum te maken, zodat zelfs als de gebruiker het programma na 12.00 uur niet opnieuw start, de schermafbeeldingen in een nieuwe map worden opgeslagen met de bijgewerkte datum.

Een try-statement wordt gebruikt om de afbeelding op te slaan in een map met de huidige datum. Als de map niet bestaat, zal deze een FileNotFoundError produceren die wordt afgehandeld door de uitzonderingsverklaring door de map te maken en deze vervolgens op te slaan.

Sla de code nu op met de extensie.py.

Controleer het bijgevoegde python-bestand als het niet duidelijk is ~

Stap 3: De code testen en uitvoeren zonder het consolevenster

De code testen en uitvoeren zonder het consolevenster
De code testen en uitvoeren zonder het consolevenster

Als uw teksteditor het uitvoeren van de code ondersteunt, voer deze dan uit. Zo niet, dubbelklik dan op het python-bestand om het uit te voeren.

Als je geen fouten krijgt, gefeliciteerd.

Als u nu niet elke keer dat u de code uitvoert het consolevenster wilt zien, wijzigt u de bestandsextensie van.py in.pyw.

De standaard toetsencombinatie om het programma af te sluiten is ctrl + prtscn links, u kunt dit wijzigen door dit te wijzigen in exit_combination.

Als je dit instructable leuk vond, stem dan op mij in de wedstrijd

Aanbevolen: