你应该知道的 Python 自动化脚本

news/2024/10/17 4:47:49/

 

701cf1d9a21a4d59960f72938d1901d1.jpeg


 概要

 

我们都有一些需要重复做的任务。幸运的是,我们可以将其中一些过程自动化,这样我们就可以专注于做其他真正需要精力和注意力的事情。

在这篇文章中,我们将谈论一些 Python 自动化脚本,你可以轻松地用它们来执行自动化任务。重要的是要明白,它们都是现成的代码,可以帮助我们处理许多日常的重复性任务。

 

如何使 Python 校对自动化

列表中的第一个是校对。每当你想消除写作中的语法和拼写错误时,你可以试试这个使用 Lmproof 模块的项目。

# Python Proofreading
# pip install lmproof
import lmproof
def proofread(text):proofread = lmproof.load("en")correction = proofread.proofread(text)print("Original: {}".format(text))print("Correction: {}".format(correction))proofread("Your Text")

首先,你需要为这个自动化安装 lmproof 库。然后,你可以使用函数 proofread(),它接收 text 作为参数。该函数运行并打印传入该函数的原始文本以及更正后的文本。你可以用它来快速校对一篇论文或一篇短文。

 

如何自动播放随机音乐

在工作时,许多开发人员喜欢听音乐。因此,对于音乐爱好者(比如我)来说,这个脚本会从包含歌曲的文件夹中随机挑选一首歌曲,并在 Python 中的 OS 和 random 模块的帮助下播放。

import random, os
music_dir = 'E:\\music diretory'
songs = os.listdir(music_dir)song = random.randint(0,len(songs))# Prints The Song Name
print(songs[song])  os.startfile(os.path.join(music_dir, songs[0])) 

该代码进入包含所有你想播放的歌曲的音乐目录,并将它们全部放在一个列表中。然后它随机地一首接一首地播放每首歌曲。os.startfile 播放歌曲。

 

自动 PDF-CSV 转换器

有时你需要将 pdf 数据转换为 CSV(comma separated value 逗号分隔值)数据,这样你就可以用它进行进一步的分析。在这些情况下,这个脚本可以派上用场。

import tabulafilename = input("Enter File Path: ")
df = tabula.read_pdf(filename, encoding='utf-8', spreadsheet=True, pages='1')df.to_csv('output.csv')

你需要用 pip 安装 tabula 库,以便运行这段代码。安装后,你可以将文件传入你的项目。

库中有一个函数 read_pdf(),它接收文件并读取它。你通过使用 to_csv() 函数将输出转换为 CSV 来完成自动化。

 

自动照片压缩器

你也可以通过压缩来减少图片的大小——同时仍然保持其质量。

import PIL
from PIL import Image
from tkinter.filedialog import *fl=askopenfilenames()
img = Image.open(fl[0])
img.save("output.jpg", "JPEG", optimize = True, quality = 10)

你可以使用 PIL(Python Imaging Library)来处理图像,对图像做很多事情,例如添加滤镜、模糊、锐化、平滑、边缘检测、压缩图像。

 

自动视频下载器

这里有一个简单的自动脚本,用于下载视频。只需使用下面的代码就可以下载视频,不需要任何网站或应用程序。

import pytubelink = input('Youtube Video URL')
video_download = pytube.Youtube(link)
video_download.streams.first().download()
print('Video Downloaded', link)

pytube 库是一个非常简单的库,你可以用来下载视频到你的本地电脑。你所需要做的就是输入视频的链接,然后用 download() 方法将其下载到你的电脑上。

 

自动文本转语音

我们将在这个脚本中使用谷歌文本转语音 API。该 API 是最新的,可用于许多语言、音调和声音,你可以从中选择。

from pygame import mixer
from gtts import gTTSdef main():tts = gTTS('Like This Article')tts.save('output.mp3')mixer.init()mixer.music.load('output.mp3')mixer.music.play()if __name__ == "__main__":main()

 

如何自动转换图像为 PDF

这是一个非常常见的任务,你可能经常执行。你可能想转换一张或多张图像为一个 PDF。

如何转换一张图像为 PDF:

import os
import img2pdf
with open("output.pdf", "wb") as file:file.write(img2pdf.convert([i for i in os.listdir('path to image') if i.endswith(".jpg")]))

如何转换多张图像为 PDF:

from fpdf import FPDF
Pdf = FPDF()list_of_images = ["wall.jpg", "nature.jpg","cat.jpg"]
for i in list_of_images:Pdf.add_page()Pdf.image(i,x,y,w,h)Pdf.output("result.pdf", "F")

这里我们使用 Python 中的 image2pdf 库将我们的图像转换为 PDF。我们也可以只用几行代码就把多张图像转换为 PDF。

 

自动抄袭检查器

抄袭是将他人的文字或想法作为自己的,无论是否得到他人的许可,将其整合到你的作品中而不注明原作者。

当你想在两个文件之间检查抄袭时,这个脚本会很有帮助。

from difflib import SequenceMatcher
def plagiarism_checker(f1,f2):with open(f1,errors="ignore") as file1,open(f2,errors="ignore") as file2:f1_data=file1.read()f2_data=file2.read()res=SequenceMatcher(None, f1_data, f2_data).ratio()print(f"These files are {res*100} % similar")
f1=input("Enter file_1 path: ")
f2=input("Enter file_2 path: ")
plagiarism_checker(f1, f2)

 

如何生成短 URL

大的 URL 在阅读和分享时可能相当烦人。为了缩短 URL,这个脚本利用了一个第三方的 API。

from __future__ import with_statement
import contextlib
try:from urllib.parse import urlencode
except ImportError:from urllib import urlencode
try:from urllib.request import urlopen
except ImportError:from urllib2 import urlopen
import sysdef make_tiny(url):request_url = ('http://tinyurl.com/app-index.php?' + urlencode({'url':url}))with contextlib.closing(urlopen(request_url)) as response:return response.read().decode('utf-8')def main():for tinyurl in map(make_tiny, sys.argv[1:]):print(tinyurl)if __name__ == '__main__':main()'''-----------------------------OUTPUT------------------------
python url_shortener.py https://www.wikipedia.org/
https://tinyurl.com/bif4t9'''

 

网速测试器

OOKLA 速度检测 API 允许你检查 ping 和网速。除了检查 ping 之外,这个小的自动化项目还可以检查下载和上传速度。

# Internet Speed tester
# pip install speedtest-cli
import speedtest as st# Set Best Server
server = st.Speedtest()
server.get_best_server()# Test Download Speed
down = server.download()
down = down / 1000000
print(f"Download Speed: {down} Mb/s")# Test Upload Speed
up = server.upload()
up = up / 1000000
print(f"Upload Speed: {up} Mb/s")# Test Ping
ping = server.results.ping
print(f"Ping Speed: {ping}")

虽然有 fast.com 这样的替代品,但有了这个脚本,你可以用 Python 脚本快速检查网速。

 

总结

我们在这篇文章中谈到了十个 Python 自动化脚本,我希望你觉得它很有用。你也可以去看看所使用的库,拓展你的知识。

 

欢迎点赞收藏转发,感谢🙏

 

 


http://www.ppmy.cn/news/533415.html

相关文章

如何使用谷歌“以图找图”图片搜索功能

谷歌不愧为搜索界的大佬,谷歌在前几个月开放了一个新功能,叫做“图像搜索”,也就是说,可以用图片搜索到图片,图片可以是网络链接的,也可以是上传的。有了这个功能后,人肉搜索 又上了一个新的层次…

200+书法板写Procreate、PS笔刷套装

书法大师板写笔刷套餐,提供Procreate和PS笔刷格式,共280支书法笔刷,不仅可以帮助您在数字绘画中添加书法效果,还可以延展到许多不同的领域。套装中的各种笔刷,不仅适用于书法、绘画和手写字,还可以用于设计…

SpringBoot 统⼀功能处理

目录 SpringBoot 统一功能处理概念 统一用户登录权限验证 登录功能代码 Spring拦截器实现步骤: 统一项目访问前缀 第一种方法:重写configurePathMatch方法进行配置 第二种方法:在系统的配置文件.properties中进行配置 统一异常处理返回…

Linux网络-网络层IP协议

目录 IP协议 计算机网络分层 IP协议头格式 IP数据报 - 数据分片 数据报为什么要分片? 数据报分片是什么? 如何做到IP数据报分片? 分片demo示例 并不推荐分片,能不分片则不分片。 网段划分 前置了解 网络号和主机号 为…

Flutter的文本、图片和按钮使用

像视图数据流转机制、底层渲染方案、视图更新策略等知识,都是构成一个UI框架的根本,看似枯燥,却往往具有最长久的生命力。 因此, 只有把这些最基础的知识弄明白,修好内功,才能触类旁通,由点及面…

带你了解电视技术OLED vs QLED,速戳~

什么是OLED? OLED(Organic Light-Emitting Diode,有机发光二极管)是LG主推的一种面板技术,在每一个有机发光二极体连接导体,发光单元依照电晶体接到的电流点亮,通过得电流越强,OLED…

C++11 线程库—线程操作(更新中)

前言 在C11推出线程库前,Windows和Linux操作系统的线程操作并不同,这就导致多线程程序无法跨平台,如果想要跨平台,会很麻烦并且容易出错。C11推出的线程库就解决了这一问题。 因为在Windows和Linux操作系统中有一些独特的常量&am…

基于卷积神经网络的高光谱图像分类

文章目录 引言1. 基于光谱特征2. 基于空间特征3. 基于空谱特征3.1 空间特征和光谱特征的融合3.2 基于3D-CNN分类 4. 总结 引言 近年来深度学习的技术在计算机视觉领域中大放异彩,使得对多光谱数据分类的研究迅速发展,结合2D-CNN,3D-CNN&…