3

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

 1 year ago
source link: http://www.justdopython.com/2022/10/19/python-pyscripts/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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

谁说不是呢?

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

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

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

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

自动生成素描草图

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

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

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)

运行效果如下:

1.png

自动发邮件

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

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

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

2.png

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

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 解压文件就几行代码:

from zipfile import ZipFile

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

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

PDF 加解密

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

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

import pikepdf

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK