μ£ΌκΈ°μ μΌλ‘ μ΄λ©μΌμ 보λ΄λ λ°©λ²
νμ¬μμ 맀μΌ, 맀주 λλ 맀μ νΉμ μκ°μ μ΄λ©μΌμ 보λ΄μΌ νλ κ²½μ°, μ΄λ₯Ό μλνν μ μλ€λ©΄ μΌλ§λ μ’μκΉμ?
νμ΄μ¬μ schedule
ν¨ν€μ§λ₯Ό μ¬μ©νλ©΄ νΉμ μκ°μ λ°λ³΅μ μΌλ‘ μμ
μ μννλ νλ‘κ·Έλ¨μ λ§λ€ μ μμ΅λλ€.
μ»΄ν¨ν°μ schedule ν¨ν€μ§λ₯Ό μ€μΉνλ €λ©΄ ν°λ―Έλμμ λ€μ λͺ λ Ήμ΄λ₯Ό μ€ννλ©΄ λ©λλ€.
pip install schedule
μ΄λ² μμ μμλ νμ΄μ¬μ μ¬μ©ν΄ μ£ΌκΈ°μ μΈ μ΄λ©μΌμ μλμΌλ‘ 보λ΄λ λ°©λ²μ λ°°μλ³΄κ² μ΅λλ€.
μ£ΌκΈ°μ μΈ μ΄λ©μΌμ 보λ΄κΈ° μν νμ΄μ¬ ν¨ν€μ§
schedule ν¨ν€μ§μ smtplib ν¨ν€μ§λ₯Ό ν¨κ» μ¬μ©νλ©΄, νΉμ μκ°μ μ΄λ©μΌμ 보λ΄λ μμ μ μλνν μ μμ΅λλ€.
κ°λ¨ν νμ΄μ¬ μ½λ μμ
λ€μμ λ§€μΌ μ€μ 9μμ μ΄λ©μΌμ μλμΌλ‘ 보λ΄λ μ½λ μμμ λλ€.
import schedule import time import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def send_email(): # λ°μ μμ μμ μ μ 보 μ€μ sender_email = "your_email@example.com" receiver_email = "receiver@example.com" password = "your_password" # μ΄λ©μΌ μ λͺ©κ³Ό λ³Έλ¬Έ μμ± subject = "μΌμΌ λ³΄κ³ μ" body = "μλ νμΈμ,\n\nμ€λμ μΌμΌ λ³΄κ³ μλ₯Ό 보λ΄λ립λλ€.\n\nκ°μ¬ν©λλ€." # MIME μ€μ msg = MIMEMultipart() msg['From'] = sender_email msg['To'] = receiver_email msg['Subject'] = subject msg.attach(MIMEText(body, 'plain')) # μ΄λ©μΌ μ μ‘ try: server = smtplib.SMTP('smtp.example.com', 587) # SMTP μλ²μ ν¬νΈ λ²νΈ μ€μ server.starttls() # TLS 보μ μμ server.login(sender_email, password) # λ‘κ·ΈμΈ server.sendmail(sender_email, receiver_email, msg.as_string()) # μ΄λ©μΌ μ μ‘ print("μ΄λ©μΌμ΄ μ±κ³΅μ μΌλ‘ λ°μ‘λμμ΅λλ€!") except Exception as e: print(f"μ΄λ©μΌ λ°μ‘ μ€ μλ¬ λ°μ: {e}") finally: server.quit() # μλ² μ°κ²° μ’ λ£ # λ§€μΌ μ€μ 9μμ μ΄λ©μΌ μ μ‘ schedule.every().day.at("09:00").do(send_email) # μ€μΌμ€λ¬ μ€ν while True: schedule.run_pending() time.sleep(1)
μ½λ μ€λͺ
1. Schedule ν¨ν€μ§λ‘ μκ° μ€μ
schedule ν¨ν€μ§λ₯Ό μ¬μ©νμ¬ νΉμ μκ°μ send_email
ν¨μλ₯Ό μ€ννλλ‘ μ€μ ν©λλ€.
μ μ½λ μμλ λ§€μΌ μ€μ 9μμ μ΄λ©μΌμ΄ μ μ‘λλλ‘ schedule.every().day.at("09:00").do(send_email)
μ κ°μ΄ μ½λλ₯Ό μμ±νμ΅λλ€.
-
every()
: μ€μΌμ€λ¬λ₯Ό μ€μ -
day.at("09:00")
: λ§€μΌ μ€μ 9μμ μ€ν -
do(send_email)
:send_email
ν¨μ μ€ν
2. μ€μΌμ€λ¬ μ€ν
while True: schedule.run_pending() time.sleep(1)
λ§μ§λ§μΌλ‘, while True
루νλ₯Ό μ¬μ©ν΄ μ€μΌμ€λ¬κ° κ³μ μλνλλ‘ ν©λλ€.
schedule.run_pending()
λ©μλλ μμ½λ μμ
μ΄ μλμ§ νμΈνκ³ , μ€νν μμ
μ΄ μλ€λ©΄ μ€νν©λλ€.
time.sleep(1)
μ CPU μμμ λλΉνμ§ μλλ‘ 1μ΄μ ν λ²μ©λ§ νμΈνκ² ν©λλ€.
μ΄μ κ°μ΄ schedule
κ³Ό smtplib
λ₯Ό ν¨κ» νμ©νλ©΄ μ£ΌκΈ°μ μΈ μ΄λ©μΌ λ°μ‘ μμ
μ νλ‘κ·Έλ¨μΌλ‘ μ²λ¦¬νμ¬, λ°λ³΅μ μΈ μ΄λ©μΌ μ
무λ₯Ό μλνν μ μμ΅λλ€.
μ°Έκ³ : λ³Έ μμ μμλ 무λΆλ³ν μ΄λ©μΌ μ€μΌμ₯΄λ§μ λ°©μ§νκΈ° μν΄ μ½λ μμλ§ μ 곡νλ©°, μ½λνλ μ¦ νλ‘μ νΈμμ μ£ΌκΈ°μ μΌλ‘ μ΄λ©μΌμ λ°μ‘νλ νμ΄μ¬ νλ‘κ·Έλ¨μ λ§λ€κ³ μ€μνμ νμ©νμ€ μ μμ΅λλ€.
μ£ΌκΈ°μ μΌλ‘ μ΄λ©μΌμ 보λ΄κΈ° μν΄ νμ΄μ¬μμ μ¬μ©ν μ μλ ν¨ν€μ§λ 무μμΈκ°μ?
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help