天天看點

讓Python幫你解放雙手,9個實用自動化腳本分享!

一組用于自動執行無聊的日常任務的腳本

讓Python幫你解放雙手,9個實用自動化腳本分享!

Midjourney 創作,自動化任務

在我們的日常生活中,我們經常會做很多重複和懶惰的任務,這些任務都可以通過自動化來實作而你可以使用你最喜歡的程式設計語言 Python 來實作它們的自動化。在本文中,我将向你展示9個Python腳本來實作自動化。是以記得把這篇文章加入你的清單中,讓我們開始吧。

1、英文拼寫檢查器

如果你想修正文檔、段落或句子中的拼寫錯誤,請嘗試這個Python腳本。它使用Autocorrect子產品逐個單詞地掃描你的文本,然後傳回沒有拼寫錯誤的文本。

  1. 可用于校對
  2. 可用于修正多個文本
  3. 可用于你的項目
# 拼寫檢查器
# pip install autocorrect
from autocorrect import Speller

def SpellChecker(data):
    spell = Speller(lang='en')  # 使用英語語言的拼寫糾正器
    correction = []
    
    for i in data.split():
        correction.append(spell(i))  # 對每個單詞進行拼寫糾正
    result = " ".join(correction)
    print(result)

SpellChecker("This is a exmapel and incorect text")  # 示例調用函數,輸出結果為"This is a example and incorrect text"
           

2、中文拼寫檢查器(錯别字)

jieba_spell是一個基于jieba庫的中文拼寫糾正庫,它通過對詞語的拼音進行比對來實作拼寫糾正。與其他中文拼寫糾正庫相比,它的優點在于速度較快,且不需要進行訓練,直接使用即可。

jieba_spell的使用方法與jieba類似,可以先對文本進行分詞,然後對每個詞語進行拼音比對,找到最可能的正确拼寫。如果某個詞語的拼音有多個候選項,則選擇出現頻率最高的那個。

import jieba_spell

text = "這是一個中文句子,其中有一些錯别字。"
words = jieba_spell.cut(text)  # 對句子進行分詞

corrected_text = ""
for w in words:
    corrected_word = jieba_spell.correct(w)  # 對每個詞語進行拼音比對
    corrected_text += corrected_word

print(corrected_text)  # 輸出糾正後的文本           

3、壓縮大檔案

具有大尺寸的檔案總是難以處理,但是您可以使用這個自動化腳本壓縮它們的大小。這個腳本使用Py7zr進行壓縮,通過将檔案壓縮成zip格式來減小它們的大小。

  1. 可用于你的項目
  2. 可用于壓縮任何檔案
  3. 可用于多個檔案
# 壓縮大檔案
# pip install py7zr
import py7zr as pyzip

def Compress_Files(files):
    with pyzip.SevenZipFile('compress.7z', 'w') as archive:
        for file in files:
            archive.write(file)
    print('Compressing Done!')

Compress_Files(['file.png', 'file2.xlsx'])  # 示例調用函數,将'file.png'和'file2.xlsx'兩個檔案壓縮成'compress.7z'檔案。           

4、抓取網頁資料

如果你想抓取網頁,可以嘗試這個自動化腳本。這個Python腳本使用Requests-Html子產品,它适用于擷取動态和靜态網頁。

  1. 抓取動态網頁
  2. 抓取靜态網頁
  3. 可以用于你的項目
  4. 還有更多功能
# 請求網頁
# pip install requests-html
from requests_html import HTMLSession

url = "https://www.qianduandaren.com"
session = HTMLSession()
headers = { "User-Agent": "Mozilla/5.0 "}
resp = session.get(url, headers=headers)
resp.html.render()  # 執行JavaScript代碼以擷取動态生成的内容
print(resp.html.html)           

需要注意的是,該腳本中的 `User-Agent` 頭部資訊是為了模拟浏覽器行為而添加的,可以根據需要進行修改。另外,`resp.html.render()` 的作用是執行JavaScript代碼,以便能夠擷取動态生成的内容。如果你要抓取的網頁是靜态的,則可以省略這一步。

5、擷取每日新聞

使用這個Python腳本可以程式設計擷取每天的新鮮新聞。該腳本從BBC News網站擷取新聞文章,包括标題和URL。

# 擷取每日新聞
# pip install requests
# pip install beautifulsoup4

import requests
from bs4 import BeautifulSoup

url = 'https://www.bbc.com/news'  # 目标網站的URL
resp = requests.get(url)  # 使用requests子產品向網站發送請求
html = BeautifulSoup(resp.text, 'html.parser')  # 将擷取到的HTML文本解析為BeautifulSoup對象
articles = html.find_all('a', class_='gs-c-promo-heading')  # 從HTML中擷取所有帶有指定類名的<a>标簽

# 周遊所有的新聞<a>标簽,擷取标題和URL
for news in articles:
    title = news.text.strip()  # 擷取新聞标題
    url = news['href']  # 擷取新聞URL
    print("Title: ", title)  # 輸出新聞标題
    print("News Url: ",url)  # 輸出新聞URL
    print()  # 輸出一個空行,使輸出更加清晰易讀
           

6、PDF檔案加密

使用這個Python腳本可以通過Pikepdf子產品将PDF檔案加密,使其受到密碼保護,提高PDF檔案的安全性。

# 鎖定PDF檔案
# pip install pikepdf
import pikepdf as pike

def Lock_PDF(pdf_files):
    for file in pdf_files:
        with pike.open(file) as pdf:  # 使用pikepdf子產品打開PDF檔案
            # 對PDF檔案進行加密處理,owner參數指定擁有者密碼,user參數指定使用者密碼
            pdf.save("lock.pdf", encryption=pike.Encryption(owner="hw", user="123"))

Lock_PDF(["test.pdf"]) 
# 示例調用函數,将'test.pdf'檔案加密儲存為'lock.pdf'檔案。
           

7、磁盤空間監控

使用這個Python腳本可以監控你的磁盤空間,并在磁盤空間不足時提醒你。

注意:可以修改該代碼,将其運作在循環中,以便随時監控磁盤空間的變化。
# 磁盤空間監控
# pip install psutil
import psutil

def check_disk_usage(disk):
    threshold = 10  # 磁盤空間的門檻值,低于該值将會觸發警報
    du = psutil.disk_usage(disk)  # 擷取指定磁盤的使用情況
    free = du.free / du.total * 100  # 計算磁盤的剩餘空間百分比
    if free < threshold:
        print("Low disk space")  # 輸出警報資訊
    else:
        print("Disk space is ok")  # 輸出正常資訊

check_disk_usage("C:/")  # 示例調用函數,監控'C:'盤的磁盤空間
check_disk_usage("D:/")  # 示例調用函數,監控'D:'盤的磁盤空間
           

8、視訊拼接

使用這個Python腳本可以将多個視訊檔案拼接成一個視訊檔案。該腳本使用了流行的Moviepy子產品,它可以讀取多個視訊并使用相同的幀率将它們合并在一起。

# 視訊拼接
# pip install moviepy
from moviepy.editor import *

def Concatenate(videos):
    clips = [VideoFileClip(vid) for vid in videos]  # 使用Moviepy子產品将多個視訊檔案讀入
    output_clip = concatenate_videoclips(clips)  # 使用Moviepy子產品将視訊檔案拼接起來
    output_clip.to_videofile("final.mp4", fps=24, remove_temp=False)  # 将拼接後的視訊檔案輸出為mp4格式
    # fps參數表示輸出視訊的幀率,remove_temp參數表示是否删除臨時檔案

Concatenate(['video1.mp4', 'video2.mp4', 'video3.mp4'])  # 示例調用函數,将'video1.mp4'、'video2.mp4'和'video3.mp4'拼接為一個視訊檔案
           

9、視訊轉圖像

如果您正在尋找将視訊檔案轉換為圖像的工具,那麼這個自動化腳本可以幫助您。它使用了OpenCV子產品,逐幀讀取視訊檔案并将每一幀圖像儲存為圖像格式。

# 視訊轉圖像
# pip install opencv-python
import cv2 as cv

def Video_to_Images(vid):
    video = cv.VideoCapture(vid)  # 使用OpenCV子產品讀取指定視訊檔案
    success, img = video.read()  # 讀取視訊檔案的第一幀圖像
    count = 1
    while success:
        cv.imwrite("frame%d.jpg" % count, img)  # 将每一幀圖像儲存為JPEG格式的圖像檔案
        success, img = video.read()  # 讀取下一幀圖像
        count += 1

Video_to_Images("video.mp4")  # 示例調用函數,将'video.mp4'檔案轉換成一系列JPEG圖像檔案
           

結束

自動化是提高生産力和效率的有效手段,Python作為一種易學易用的程式設計語言,也是實作自動化的理想工具。在本文中,我們向你介紹了9個實用的Python自動化腳本,涉及檔案壓縮、拼接、轉換、爬蟲等多個方面,希望能夠為你的生活帶來便利和啟示。如果你有自己的自動化腳本或者想法,歡迎在評論區分享,讓我們一起讓生活更加便捷和高效!

今天的分享就到這裡,感謝你的閱讀,希望能夠幫助到你,文章創作不易,如果你喜歡我的分享,别忘了點贊轉發,讓更多有需要的人看到,最後别忘記關注「前端達人」,你的支援将是我分享最大的動力,後續我會持續輸出更多内容,敬請期待。

原文:https://python.plainenglish.io/10-python-scripts-to-automate-your-daily-tasks-76a9778362cd

作者:Haider Imtiaz

非直接翻譯,有自行改編和添加部分,翻譯水準有限,難免有疏漏,歡迎指正