Mundarija:

Python skript yordamida Windows -da skrinshotlarni avtomatik ravishda saqlash: 4 qadam
Python skript yordamida Windows -da skrinshotlarni avtomatik ravishda saqlash: 4 qadam

Video: Python skript yordamida Windows -da skrinshotlarni avtomatik ravishda saqlash: 4 qadam

Video: Python skript yordamida Windows -da skrinshotlarni avtomatik ravishda saqlash: 4 qadam
Video: Разнёс чужой код за 15 секунд. Часть 1 #код #айти #программирование #рефакторинг 2024, Noyabr
Anonim
Python skript yordamida Windows -da skrinshotlarni avtomatik ravishda saqlang
Python skript yordamida Windows -da skrinshotlarni avtomatik ravishda saqlang

Odatda derazalarda skrinshotni (bosma ekranni) saqlash uchun avval skrinshotni olishimiz kerak, so'ngra bo'yoqni ochamiz, keyin yopishtirib qo'yamiz va keyin saqlaymiz.

Endi men sizga avtomatlashtirish uchun python dasturini tuzishni o'rgataman.

Bu dastur ish stolida "tortishish" nomli papkani yaratadi va PrtScn tugmachasini bosganingizda va Ctrl + PtrScn tugmachasini bosganingizda, ekran tasvirini yangi papkada saqlanadi.

Sizga python 3.7 o'rnatilgan, matn muharriri (men Sublime Text 3 ishlatganman), autopiya va python python paketlari kerak bo'ladi.

1 -qadam: Autopy va Pynput -ni o'rnatish

Python 3.7 ni o'rnatgandan so'ng cmd (buyruq satri) ni oching va quyidagilarni kiriting:

pip o'rnatish autopy

enter tugmasini bosing. Bu autopy paketini o'rnatadi. Bu bajarilgandan so'ng, yozing:

pip o'rnatish pynput

pynput paketini o'rnatish uchun.

2 -qadam: kodlash

Matn muharririni oching va quyidagilarni kiriting:

vaqtni import qilish

pynput.keyboard -dan import aut -ni import qilish Kaliti, Tinglovchi

keyin yozing:

chiqish_kombinatsiyasi = {Key.ctrl_l, Key.print_screen}

current_pressed = set ()

bu foydalanuvchi tugmalar birikmasini bosganda dasturdan chiqish uchun tugmalar birikmasini o'rnatadi, bu holda bu chap Ctrl + PrtScn.

Keyin yozing:

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

harakat qilib ko'ring: os.makedirs (yo'l) FileExistsError tashqari: pass

Bu ish stolida "shot" nomli papkani va uning ichida joriy sana bo'lgan boshqa papkani yaratadi. Os.getlogin () joriy foydalanuvchini olish uchun ishlatiladi.

Keyin yozing:

tinglovchi sifatida tinglovchi bilan (on_press = on_press, on_release = on_release):

tinglovchi.join ()

bu erda Listener funktsiyasi klaviatura tugmalarini tinglaydi va join () tugmaguncha ularni yig'ish uchun ishlatiladi.

Keling, funktsiyalarni aniqlaylik, ularni import bayonotlaridan so'ng, "exit_combination" dan oldin yozamiz.

Biz 3 funktsiyani aniqlashimiz kerak: on_press, on_release va check_key.

on_press va on_release - bu Listener funktsiyasi talab qiladigan funktsiyalar.

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

bu funktsiya "kalit" parametrini oladi va uni check_key (key) funktsiyasiga o'tkazadi. Keyin u kalitning chiqish kombinatsiyasida ekanligini tekshiradi, ya'ni dasturdan chiqish uchun tugmalar birikmasi, agar bo'lsa, u tinglovchi funktsiyasini bajarishni to'xtatadi.

Keyin yozing:

def on_release (key): try: currently_pressed.remove (key) keyError tashqari: pass

bu kalitni bosilgan to'plamdan olib tashlaydi.

Keyin yozing:

def check_key (key): if key == Key.print_screen: shot = autopy.bitmap.capture_screen () now = datetime.datetime.now () timenow = now.strftime ("%H_%M_%S") yo'l = " c: // Foydalanuvchilar // "+os.getlogin ()+" // Ish stoli // tortishish // "+str (datetime.date.today ()) urinib ko'ring: shot.save (yo'l+'//'+timenow+')-p.webp

Bu funksiya hozirda bosilgan tugmachani belgilangan tugma bilan solishtiradi (print_screen tugmasi), agar u mos kelsa, u avtomatik kutubxonaning capture_screen () ekran tasvirini oladi va uni "tortishish" o'zgaruvchisiga saqlaydi.

Keyin u joriy sanani ishlatish uchun yo'l o'zgaruvchisini qayta belgilaydi (bu joriy sana bilan yangi papka yaratish uchun amalga oshiriladi, shuning uchun foydalanuvchi soat 12:00 dan keyin dasturni qaytadan boshlamasa ham, ekran tasvirlari yangi papkada saqlanadi) yangilangan sana bilan.

Tasvirni joriy sana bo'lgan papkaga saqlash uchun try iborasi ishlatiladi. Agar papka mavjud bo'lmasa, u FileNotFoundError -ni chiqaradi, u istisno buyrug'i bilan jildni yaratadi va keyin saqlaydi.

Endi kodni.py kengaytmasi bilan saqlang.

Agar aniq bo'lmasa, biriktirilgan python faylini tekshiring ~

3 -qadam: Kodni sinab ko'rish va konsol oynasiz ishlash

Kodni sinab ko'rish va konsol oynasiz ishlash
Kodni sinab ko'rish va konsol oynasiz ishlash

Agar matn muharriri kodni ishlatishni qo'llab -quvvatlasa, uni ishga tushiring. Agar yo'q bo'lsa, uni ishga tushirish uchun python faylini ikki marta bosing.

Agar siz xato qilmasangiz, tabriklayman.

Endi, agar siz har safar kodni ishga tushirganingizda konsol oynasini ko'rishni xohlamasangiz, fayl kengaytmasini.py dan.pyw ga o'zgartiring.

Dasturdan chiqish uchun standart tugmalar birikmasi chapda qoladi ctrl + prtscn, buni exit_combination -da o'zgartirish orqali o'zgartirishingiz mumkin.

Agar sizga bu ko'rsatma yoqqan bo'lsa, iltimos, tanlovda menga ovoz bering

Tavsiya: