几个有趣且有用的Python自动化脚本

最近好多人都在吐槽打工人好难,最近尤其难!

谁说不是呢?

以前大家自己买热水壶烧水泡茶喝,几排工位共用一个,方便快捷。最近公司发通知说会有用电危险不让用了,发现使用直接没收。现在只能去公共区域接热水。工作这么忙,跑那么远去实在是懒得动!

公司是担心大家泡茶喝耽误工作吗?

打工已是如此的艰难,有些事情就不要拆穿!

在这难熬的日子里,给大家搜集几个有用的脚本,希望给大家带来一点乐趣,或者给大家的工作生活提升效率。

自动生成素描草图

在注册一些网站时,经常发愁头像怎么选?放真人照上去怕吓跑别人,放风景图片自己又不喜欢。

是时候用素描草图了,妈妈再也不用担心我的头像吓跑人了!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import cv2
  img = cv2.imread("elon.jpg")

  ## Image to Gray Image
  gray_image = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

  ## Gray Image to Inverted Gray Image
  inverted_gray_image = 255-gray_image

  ## Blurring The Inverted Gray Image
  blurred_inverted_gray_image = cv2.GaussianBlur(inverted_gray_image, (19,19),0)

  ## Inverting the blurred image
  inverted_blurred_image = 255-blurred_inverted_gray_image

  ### Preparing Photo sketching
  sketck = cv2.divide(gray_image, inverted_blurred_image,scale= 256.0)

  cv2.imshow("Original Image",img)
  cv2.imshow("Pencil Sketch", sketck)
  cv2.waitKey(0)

运行效果如下:

自动发邮件

有时候我们工作中需要给领导或者客户发邮件,这可是一门技术活。如果很快发过去,要么是效率高,要么是工作不饱和。所以我们可能需要定时发邮件,比如凌晨一点。

这里以QQ邮箱为例,简单演示怎么自动发邮件。

在运行脚本之前,需要先在邮箱中设置开启 smtp 服务。

设置完成后,会生成一个授权码,这个授权码在下面的程序中会用到。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import smtplib 
from email.message import EmailMessage
import pandas as pd

def send_email(remail, rsubject, rcontent):
    email = EmailMessage()      
    # 发件人邮箱                    
    email['from'] = '发件人邮箱'    
    # 收件人邮箱        
    email['to'] = remail            
    # 主题               
    email['subject'] = rsubject   
    # 内容                  
    email.set_content(rcontent)                     
    with smtplib.SMTP(host='smtp.qq.com',port=25)as smtp:     
        smtp.ehlo()                                 
        smtp.starttls()       
        # 授权码登录                     
        smtp.login("发件人邮箱","授权码") 
        smtp.send_message(email)                    
        print("email send to ",remail)              

if __name__ == '__main__':
    send_email('目标邮箱','test','test')

解压文件

解压文件的软件多如牛毛,但是如果一次性需求比较旺盛,需要批量解压的时候,就可以考虑用 python 实现了。 python 解压文件就几行代码:

1
2
3
4
from zipfile import ZipFile

unzip = ZipFile("file.zip", "r")
unzip.extractall("outputdir")

写个代码读取某个目录下的压缩文件,然后应用这两行就可以了。

PDF 加解密

对于一些重要 PDF 文件,我们可以对其设置密码,只有拿到文件和密码才可以查看内容。PDF 软件可以帮助我们做这个事情,但是如果有好多份文件呢?

使用Python的pikepdf模块,即可对文件进行加密,写一个循环就能进行批量加密文档。

1
2
3
4
5
import pikepdf

pdf = pikepdf.open("test.pdf")
pdf.save('encrypt.pdf', encryption=pikepdf.Encryption(owner="your_password", user="your_password", R=4))
pdf.close()

总结

今天的内容就介绍到这里,赶紧收藏和点赞吧!

Python Geek Tech wechat
欢迎订阅 Python 技术,这里分享关于 Python 的一切。