龙空技术网

分享10个你可能会用到 Python 自动化项目,提升你的工作效率

前端达人 419

前言:

当前看官们对“关于python项目”大概比较讲究,朋友们都需要分析一些“关于python项目”的相关资讯。那么小编也在网络上收集了一些关于“关于python项目””的相关知识,希望我们能喜欢,各位老铁们快快来了解一下吧!

转载说明:原创不易,未经授权,谢绝任何形式的转载

针对日常问题的迷你 Python 项目

通过使用 Python 创建迷你项目,让您的日常生活自动化,这些项目可以自动化您的日常工作,例如获取新闻、编辑图像、获取 Web 数据、发送 WhatsApp 消息等等。在本文中,我将向您展示 10 个 Python 迷你自动化项目及其完整代码。因此,将其放入您的清单中,让我们开始吧。

1、迷你照片编辑器

使用 Python 中的这个自动化迷你项目制作您自己的照片编辑器。该项目脚本使用图像处理模块,允许您使用裁剪、调整大小、翻转、模糊、增强、压缩等功能。

注意:您可以通过探索 Scikit-image 模块来扩展项目功能。

# 导入所需的库# 请确保已经安装了scikit-image库:pip install scikit-imagefrom skimage import io# 加载图片Pic = io.imread('photo.jpg')# 获取图片的细节信息print(Pic.shape)  # 打印图片的尺寸信息,即高度、宽度和通道数print(Pic.dtype)  # 打印图片的数据类型,通常为uint8,表示8位无符号整数,范围在0到255之间# 调整图片尺寸Pic = io.resize(Pic, (10, 10))  # 将图片调整为10x10像素的大小# 裁剪图片Pic = io.crop(Pic, ((0, 0), (10, 10), (7, 6)))  # 对图片进行裁剪,保留指定区域# 对图片进行高斯模糊Pic = io.gaussian(Pic, sigma=1)  # 使用高斯滤波进行图片模糊,sigma表示模糊程度# 翻转图片Pic = io.flip(Pic, axis=0)  # 对图片进行垂直翻转# 压缩图片Pic = io.imsave('photo.jpg', Pic, quality=50)  # 将处理后的图片保存为photo.jpg文件,quality表示图片质量,值为0到100# 旋转图片Pic = io.rotate(Pic, angle=90)  # 对图片进行逆时针旋转90度# 将图片转换为灰度图Pic = io.rgb2gray(Pic)  # 将彩色图片转换为灰度图# 调整图片亮度Pic = io.adjust_gamma(Pic, gamma=0.5)  # 调整图片的亮度,gamma值小于1会使图片变暗# 增强图片对比度Pic = io.equalize_adapthist(Pic, clip_limit=0.03)  # 使用自适应直方图均衡化增强图片对比度# 保存处理后的图片io.imsave('photo.jpg', Pic)  # 将最终处理后的图片保存为photo.jpg文件
2、新闻抓取应用

通过这个小型自动化项目以编程方式获取每日头条新闻。该脚本可让您从 TheGuardian 新闻网站获取最新头条新闻以及完整的新闻文章链接。

# 导入所需的库# 请确保已经安装了requests和beautifulsoup4库:pip install requests beautifulsoup4import requestsfrom bs4 import BeautifulSoup# 设置目标网址link = ";# 设置请求头信息headers = {"Content-Type": "text"}# 发起GET请求并获取网页内容response = requests.request("GET", link, headers=headers)# 解析网页内容parser = BeautifulSoup(response.text, "html.parser")# 使用BeautifulSoup的find_all方法查找所有具有class属性为"fc-item__content"的div元素for x in parser.find_all("div", class_="fc-item__content"):    # 查找每个"fc-item__content" div元素下的标题h3标签    title = x.find("h3")    # 打印新闻标题    print("Title:", title.text)        # 查找每个"fc-item__content" div元素下的链接a标签    url = x.find("a")    # 打印新闻链接    print("URL:", url["href"])
3、Py 视频播放器

使用 Python 语言创建您自己的 VLC 视频播放器。这个小型自动化项目使用 Opencv-python 模块来读取视频文件并在图像序列中逐帧加载视频。您也可以在项目中编辑每秒帧数,例如 30fps 或 60fps,请检查下面的代码。

# Py Video Player# pip install opencv-pythonfrom cv2 import *from time import sleepfilename = "video.mp4"plyer = VideoCapture(filename)fps = plyer.get(CAP_PROP_FPS)while True:    data, frame = plyer.read()    if data:        imshow('video', frame)        sleep(1/fps)        if waitKey(1) & 0xFF == ord('q'):            break    else:        break
4、CSV 解析器

想要在 CSV 文件中获取和写入数据,然后尝试这个小型自动化项目,它指导您如何解析 CSV 文件并使用 Pandas 模块追加或写回文件。

# CSV Parser# pip install pandasimport pandas# Read CSV filecsv = pandas.read_csv("file.csv")# Parse whole datadata = csv.valuesprint(data)# Parse Specific Columnsdata = csv[["Col1", "Col2"]].values# Parse Specific Rowsdata = csv.iloc[0:5].values# Convert CSV to String Listdata = csv.values.tolist()# Convert CSV to JSONdata = csv.to_json()# Write new CSV filedata = {"Col1": [11, 22, 33]}csv = pandas.DataFrame(data)csv.to_csv("file.csv", index=False)# Append New row to CSV filedata = {"Col2": [21, 42, 53]}csv = pandas.DataFrame(data)csv.to_csv("file.csv", mode="a", header=False, index=False)
5、二维码扫描器应用程序

这个 Python 迷你自动化项目可让您扫描任何二维码并获取其数据。这个方便的脚本对于以编程方式一次扫描大量二维码非常有用。

# Qrcode Scanning App# pip instll pyzbarimport pyzbar.pyzbar as zbarimport cv2def Scan_Qrcode(qr_img):    # Read Image    im = cv2.imread(qr_img)    # Decode Image    decoded = zbar.decode(im)    # Print Data    for obj in decoded:        print("Qr Data: ", obj.data)if __name__ == "__main__":    Scan_Qrcode("qr.png")
6、Whatsapp 消息发送者

希望自动化您的 WhatsApp 消息,那么这里有一个适合您的小型自动化项目,可让您向联系人和群组发送 WhatsApp 文本消息。该项目还可以方便地向联系人发送带有图像的文本消息。

# 导入所需的库# 请确保已经安装了pywhatkit库:pip install pywhatkitimport pywhatkit as wat# 即时发送文本消息wat.sendwhatmsg_instantly("+xxxxxxxxxxxx", "Hello World")# 发送文本消息并指定发送时间wat.sendwhatmsg("+xxxxxxxxxx", "Hi from Python", 11, 20)# 发送图片消息并指定发送时间wat.sendwhats_image("+xxxxxxxxxx", "image.jpg", "Hi from Python", 11, 20)# 在群组中发送文本消息并指定发送时间wat.sendwhatmsg_to_group("+xxxxxxxxxx", "Hi from Python", 11, 20)# 发送文本消息给所有联系人并指定发送时间wat.sendwhatmsg_to_all("Hi from Python", 11, 20)
7、图片转视频

使用几行代码将图像序列转换为视频格式。这个方便的迷你自动化项目使用 Moviepy 模块,可让您轻松将图像序列转换为视频。

# 导入所需的库# 请确保已经安装了moviepy库:pip install moviepyfrom moviepy.editor import *import os# 定义一个函数来将图片转换为视频def make_video(images):    frames = []    for img in images:        # 将每张图片加载为一个视频帧,并设置显示时间为2秒        n_frame = ImageClip(img).set_duration(2)        frames.append(n_frame)        # 使用concatenate_videoclips函数将所有视频帧连接成一个视频剪辑    clip = concatenate_videoclips(frames)        # 将合成的视频保存为video.mp4文件,设置帧率为24    clip.to_videofile("video.mp4", fps=24)# 调用函数将img1.jpg、img2.jpg和img3.jpg合成为视频make_video(["img1.jpg", "img2.jpg", "img3.jpg"])
8、网页抓取

通过使用 Beautifulsoup 模块的小型自动化项目轻松解析网页数据。该项目脚本可以帮助您从 Web 源代码中获取文本,甚至可以让您按类、Id、Xpath 等查找元素。

# 导入所需的库# 请确保已经安装了bs4库和html5lib库:pip install bs4 html5libimport bs4# 使用bs4库加载网页内容with open('webpage.html') as html_file:    html = bs4.BeautifulSoup(html_file, "html5lib")# 获取网页的标题title = html.title.textprint(title)# 根据ID查找元素match = html.find(id='data')print(match)# 根据class名称查找元素match = html.find(class_='data')print(match)# 根据xpath查找元素xpath = html.find('div', attrs={'id': 'value12'})print(xpath)# 查找所有特定标签的元素for match in html.find_all('div'):    print(match)# 查找所有链接并获取其href属性for link in html.find_all('a'):    print(link.get('href'))# 查找所有图像并获取其src属性for image in html.find_all('img'):    print(image.get('src'))# 提取整个网页的文本内容print(html.get_text())
9、获取网站状态

想要检查某个特定网站是在线还是关闭,那么这个自动化项目将帮助您。这个简单的项目使用Request-HTML模块可以检查动态和静态网站的状态。

# Check Web Status# pip install requests-htmlimport requests_html as requestsurl = ";session = requests.HTMLSession()req = session.get(url, timeout=10)req.html.render(sleep=1)if req.status_code == 200:    print("Web is live")else:    print("Web is down")
10、强密码生成器

通过生成强密码来增强您的隐私和数字安全。这个迷你项目使用 Pyperclip 模块,让您生成一个强密码,包括任意长度和强度的字母数字和标点符号。

# Strong Password Generator# pip install pyperclipimport random as rimport string as stimport pyperclipdef password_generator():    passw = []    pass_length = int(input("How many characters password you want: "))    for i in range(pass_length):        string = st.ascii_letters + st.punctuation + st.digits         passw.append(r.choice(string))    passw = "".join(passw)    pyperclip.copy(passw)    print(f"Your password is: {passw}")if __name__ == "__main__":    password_generator()
结束

由于文章内容篇幅有限,今天的内容就分享到这里,文章结尾,我想提醒您,文章的创作不易,如果您喜欢我的分享,请别忘了点赞和转发,让更多有需要的人看到。同时,如果您想获取更多前端技术的知识,欢迎关注我,您的支持将是我分享最大的动力。我会持续输出更多内容,敬请期待。

标签: #关于python项目