สารบัญ:

บันทึกภาพหน้าจอใน Windows โดยอัตโนมัติด้วยสคริปต์ Python: 4 ขั้นตอน
บันทึกภาพหน้าจอใน Windows โดยอัตโนมัติด้วยสคริปต์ Python: 4 ขั้นตอน

วีดีโอ: บันทึกภาพหน้าจอใน Windows โดยอัตโนมัติด้วยสคริปต์ Python: 4 ขั้นตอน

วีดีโอ: บันทึกภาพหน้าจอใน Windows โดยอัตโนมัติด้วยสคริปต์ Python: 4 ขั้นตอน
วีดีโอ: รันสคริป Python อัตโนมัติด้วย schedule 🤖🐍 2024, พฤศจิกายน
Anonim
บันทึกภาพหน้าจอใน Windows โดยอัตโนมัติด้วย Python Script
บันทึกภาพหน้าจอใน Windows โดยอัตโนมัติด้วย Python Script

โดยปกติใน windows ในการบันทึกภาพหน้าจอ (หน้าจอที่พิมพ์) ก่อนอื่นเราต้องถ่ายภาพหน้าจอแล้วเปิดโปรแกรมระบายสี จากนั้นวางแล้วบันทึกในที่สุด

ตอนนี้ฉันจะสอนวิธีสร้างโปรแกรม python ให้เป็นแบบอัตโนมัติ

โปรแกรมนี้จะสร้างโฟลเดอร์ชื่อ 'shots' ในเดสก์ท็อปของคุณและบันทึกภาพหน้าจอในโฟลเดอร์ใหม่ภายใน shots ตามเวลาที่มันถูกถ่ายเมื่อคุณกดปุ่ม PrtScn และออกจากโปรแกรมเมื่อกด Ctrl + PtrScn

คุณจะต้องติดตั้ง python 3.7, โปรแกรมแก้ไขข้อความ (ฉันใช้ Sublime Text 3), แพ็คเกจ autopy และ pynput python

ขั้นตอนที่ 1: ติดตั้ง Autopy และ Pynput

หลังจากติดตั้ง python 3.7 แล้ว ให้เปิด cmd (พรอมต์คำสั่ง) แล้วพิมพ์ข้อความต่อไปนี้:

pip ติดตั้ง autopy

กดปุ่มตกลง. สิ่งนี้จะติดตั้งแพ็คเกจ autopy หลังจากเสร็จแล้วให้พิมพ์:

pip ติดตั้ง pynput

เพื่อติดตั้งแพ็คเกจ pynput

ขั้นตอนที่ 2: การเข้ารหัส

เปิดตัวแก้ไขข้อความของคุณและพิมพ์ดังต่อไปนี้:

นำเข้าวันที่เวลา

นำเข้าระบบปฏิบัติการ นำเข้า autopy จาก pynput.keyboard import Key, Listener

จากนั้นพิมพ์:

exit_combination = {Key.ctrl_l, Key.print_screen}

ปัจจุบัน_กด = set()

ซึ่งจะตั้งค่าคีย์ผสมเพื่อออกจากโปรแกรมเมื่อผู้ใช้กดคีย์ผสม ในกรณีนี้คือ Ctrl ซ้าย + PrtScn

จากนั้นพิมพ์:

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

ลอง: os.makedirs(เส้นทาง) ยกเว้น FileExistsError: pass

สิ่งนี้จะทำให้โฟลเดอร์ชื่อ shots ในเดสก์ท็อปของคุณและภายในโฟลเดอร์อื่นที่มีวันที่ปัจจุบัน os.getlogin() ถูกใช้เพื่อรับผู้ใช้ปัจจุบัน

จากนั้นพิมพ์:

โดยมี Listener(on_press=on_press, on_release=on_release) เป็นผู้ฟัง:

Listener.join()

ที่นี่ ฟังก์ชัน Listener จะฟังการกดแป้นและ join() ใช้เพื่อรวบรวมจนกว่าจะปล่อย

ตอนนี้ มากำหนดฟังก์ชั่นกัน พิมพ์มันทันทีหลังคำสั่งนำเข้า ก่อน 'exit_combination'

เราจำเป็นต้องกำหนด 3 ฟังก์ชั่น: on_press, on_release และ check_key

on_press และ on_release เป็นฟังก์ชันที่ฟังก์ชัน Listener ต้องการ

def on_press(คีย์): check_key(คีย์) ถ้าคีย์ใน exit_combination: ปัจจุบัน_pressed.add(คีย์) ถ้า ปัจจุบัน_pressed == exit_combination: listener.stop()

ฟังก์ชันนี้ใช้พารามิเตอร์ 'คีย์' และส่งผ่านไปยังฟังก์ชัน check_key(คีย์) จากนั้นจะตรวจสอบว่าคีย์อยู่ในชุดค่าผสมทางออกหรือไม่ เช่น การรวมกันของแป้นต่างๆ เพื่อกดเพื่อออกจากโปรแกรม หากเป็นเช่นนั้น แป้นจะหยุดดำเนินการฟังก์ชัน Listener

จากนั้นพิมพ์:

def on_release(คีย์): ลอง: ปัจจุบัน_pressed.remove(คีย์) ยกเว้น KeyError: pass

สิ่งนี้จะลบคีย์ออกจากชุดที่กดอยู่ในปัจจุบัน

จากนั้นพิมพ์:

def check_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()) ลอง: shot.save(path+'//'+timenow+'.png') ยกเว้น FileNotFoundError: os.makedirs(path) shot.save(path+'//'+timenow+'.png')

ฟังก์ชันนี้จะเปรียบเทียบคีย์ที่กดอยู่ในปัจจุบันกับคีย์ที่ระบุ (คีย์ print_screen) หากตรงกัน ระบบจะจับภาพหน้าจอโดยใช้ capture_screen() ของไลบรารี autopy และบันทึกลงในตัวแปร 'shot'

จากนั้นจะกำหนดตัวแปรเส้นทางใหม่เพื่อใช้วันที่ปัจจุบัน (ทำเพื่อสร้างโฟลเดอร์ใหม่ด้วยวันที่ปัจจุบัน เพื่อที่แม้ว่าผู้ใช้จะไม่รีสตาร์ทโปรแกรมหลังเวลา 12.00 น. ภาพหน้าจอก็จะถูกบันทึกไว้ในโฟลเดอร์ใหม่ กับวันที่อัพเดท

คำสั่ง try ใช้เพื่อบันทึกรูปภาพลงในโฟลเดอร์ที่มีวันที่ปัจจุบัน หากไม่มีโฟลเดอร์อยู่ จะสร้าง FileNotFoundError ซึ่งจัดการโดยคำสั่งยกเว้นโดยสร้างโฟลเดอร์แล้วบันทึก

ตอนนี้ให้บันทึกโค้ดด้วยนามสกุล.py

ตรวจสอบไฟล์ python ที่แนบมาหากไม่ชัดเจน ~

ขั้นตอนที่ 3: ทดสอบโค้ดและเรียกใช้โดยไม่มีหน้าต่างคอนโซล

ทดสอบโค้ดและรันโดยไม่มีหน้าต่างคอนโซล
ทดสอบโค้ดและรันโดยไม่มีหน้าต่างคอนโซล

หากโปรแกรมแก้ไขข้อความของคุณรองรับการเรียกใช้โค้ด ให้เรียกใช้โปรแกรมดังกล่าว ถ้าไม่เช่นนั้น ให้ดับเบิลคลิกที่ไฟล์ python เพื่อเรียกใช้

หากคุณไม่ได้รับข้อผิดพลาดใด ๆ ยินดีด้วย

ตอนนี้ หากคุณไม่ต้องการเห็นหน้าต่างคอนโซลทุกครั้งที่คุณเรียกใช้โค้ด ให้เปลี่ยนนามสกุลไฟล์จาก.py เป็น.pyw

คีย์ผสมเริ่มต้นเพื่อออกจากโปรแกรมคือ ctrl + prtscn ซ้าย คุณสามารถเปลี่ยนได้โดยเปลี่ยนใน exit_combination

หากคุณชอบคำแนะนำนี้โปรดลงคะแนนให้ฉันในการแข่งขัน

แนะนำ: