最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文分享20個實用的Python自動化腳本,提升10倍效率

 更新時間:2026年03月13日 08:30:41   作者:遇見火星  
Python憑借其簡潔的語法和強大的庫,堪稱創(chuàng)建自動化腳本的最佳編程語言之一,本文將分享用于自動化各類任務的20個Python腳本,這些腳本非常適合希望優(yōu)化工作流程、提升效率的實踐者

Python憑借其簡潔的語法和強大的庫,堪稱創(chuàng)建自動化腳本的最佳編程語言之一。無論你是程序員還是想簡化日常工作的普通用戶,Python都能提供得力的工具。

本文將分享用于自動化各類任務的20個Python腳本,這些腳本非常適合希望優(yōu)化工作流程、提升效率的實踐者。

1.批量重命名文件

逐個重命名文件耗時費力,而使用Python的os模塊可以輕松實現(xiàn)自動化。

以下腳本可根據(jù)指定模式批量修改文件夾中的文件名:

import os
def bulk_rename(folder_path, old_name_part, new_name_part):
    for filename in os.listdir(folder_path):
        if old_name_part in filename:
            new_filename = filename.replace(old_name_part, new_name_part)
            os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
            print(f"Renamed {filename} to {new_filename}")
folder = '/path/to/your/folder' bulk_rename(folder, 'old_part', 'new_part')

此腳本搜索名稱中包含的文件old_part,并將其替換為new_part。

2.自動備份文件

我們都知道定期備份文件有多重要,而利用Python的shutil模塊可以輕松實現(xiàn)自動化備份。

以下腳本會將指定目錄的所有文件復制到備份目錄:

import shutil
import os

def backup_files(src_dir, dest_dir):
    if not os.path.exists(dest_dir):
        os.makedirs(dest_dir)
    for file in os.listdir(src_dir):
        full_file_name = os.path.join(src_dir, file)
        if os.path.isfile(full_file_name):
            shutil.copy(full_file_name, dest_dir)
            print(f"Backed up {file} to {dest_dir}")

source = '/path/to/source/directory' destination = '/path/to/destination/directory' backup_files(source, destination)

你可以通過cron(Linux系統(tǒng))或任務計劃程序(Windows系統(tǒng))等工具,將該腳本設置為每日自動運行。

3.從 Internet 下載文件

如果經(jīng)常需要從網(wǎng)絡下載文件,使用 aiohttp 庫就能輕松實現(xiàn)自動化下載。

以下是一個簡單的腳本示例,可從指定 URL 下載文件:

import aiohttp
import asyncio
import aiofiles

async def download_file(url, filename):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            async with aiofiles.open(filename, 'wb') as file:
                await file.write(await response.read())
            print(f"Downloaded {filename}")

urls = {
    'https://example.com/file1.zip': 'file1.zip',
    'https://example.com/file2.zip': 'file2.zip'
}

async def download_all():
    tasks = [download_file(url, filename) for url, filename in urls.items()]
    await asyncio.gather(*tasks)

asyncio.run(download_all())

該腳本會從給定的 URL 下載文件,并自動保存到你指定的文件夾中。

4.自動化電子郵件報告

如果需要定期發(fā)送郵件報告,可以使用 smtplib 庫實現(xiàn)自動化。這個庫能輕松通過 Gmail 賬戶發(fā)送郵件:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

def send_email(subject, body, to_email):
    sender_email = 'youremail@gmail.com'
    sender_password = 'yourpassword'
    receiver_email = to_email

    msg = MIMEMultipart()
    msg['From'] = sender_email
    msg['To'] = receiver_email
    msg['Subject'] = subject
    msg.attach(MIMEText(body, 'plain'))

    try:
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.starttls()
        server.login(sender_email, sender_password)
        server.sendmail(sender_email, receiver_email, msg.as_string())
        server.quit()
        print("Email sent successfully!")
    except Exception as e:
        print(f"Failed to send email: {e}")

subject = 'Monthly Report'
body = 'Here is the monthly report.'
send_email(subject, body, 'receiver@example.com')

該腳本會向指定收件人發(fā)送帶主題和正文的簡易郵件。注意:使用此方法前,請確保已在 Gmail 中啟用『低安全性應用』權限。

5.任務調(diào)度程序(任務自動化)

定時任務自動化可以輕松通過 schedule 庫實現(xiàn),它能在指定時間自動執(zhí)行發(fā)送郵件、運行備份腳本等操作:

import schedule
import time

def job():
    print("Running scheduled task!")

# Schedule the task to run every day at 10:00 AM
schedule.every().day.at("10:00").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

該腳本將持續(xù)運行,并在每天上午10:00準時觸發(fā)預設任務。

6.用于數(shù)據(jù)收集的 Web Scraping

相比同步的 requests 庫,使用 aiohttp 進行異步 HTTP 請求能讓網(wǎng)頁抓取效率大幅提升。

這個示例演示了如何并行抓取多個頁面:

import aiohttp
import asyncio
from bs4 import BeautifulSoup

async def fetch(session, url):
    async with session.get(url) as response:
        return await response.text()

async def scrape(urls):
    async with aiohttp.ClientSession() as session:
        tasks = [fetch(session, url) for url in urls]
        html_pages = await asyncio.gather(*tasks)
        for html in html_pages:
            soup = BeautifulSoup(html, 'html.parser')
            print(soup.title.string)

urls = ['https://example.com/page1', 'https://example.com/page2'] asyncio.run(scrape(urls))

7.自動生成發(fā)票

定期生成發(fā)票?用 Fpdf 這類庫就能輕松實現(xiàn)自動化開票:

from fpdf import FPDF

def create_invoice(client_name, amount):
    pdf = FPDF()
    pdf.add_page()
    pdf.set_font("Arial", size=12)
    pdf.cell(200, 10, txt="Invoice", ln=True, align='C')
    pdf.cell(200, 10, txt=f"Client: {client_name}", ln=True, align='L')
    pdf.cell(200, 10, txt=f"Amount: ${amount}", ln=True, align='L')
    pdf.output(f"{client_name}_invoice.pdf")
    print(f"Invoice for {client_name} created successfully!")

create_invoice('John Doe', 500)

該腳本可快速生成標準發(fā)票并自動保存為PDF格式。

8.監(jiān)控網(wǎng)站正常運行時間

利用 requests 庫,我們可以輕松實現(xiàn)網(wǎng)站運行狀態(tài)的自動化監(jiān)控,定時檢測目標網(wǎng)站是否在線:

import requests
import time

def check_website(url):
    try:
        response = requests.get(url)
        if response.status_code == 200:
            print(f"Website {url} is up!")
        else:
            print(f"Website {url} returned a status code {response.status_code}")
    except requests.exceptions.RequestException as e:
        print(f"Error checking website {url}: {e}")

url = 'https://example.com' while True: check_website(url) time.sleep(3600) # Check every hour

該腳本會自動檢測網(wǎng)站可用性,并返回當前狀態(tài)碼。

9.自動回復電子郵件

如果經(jīng)常需要處理大量郵件,可以通過 imaplib 和 smtplib 庫實現(xiàn)自動回復功能:

import imaplib
import smtplib
from email.mime.text import MIMEText

def auto_reply():
    # Connect to email server
    mail = imaplib.IMAP4_SSL("imap.gmail.com")
    mail.login('youremail@gmail.com', 'yourpassword')
    mail.select('inbox')

    # Search for unread emails
    status, emails = mail.search(None, 'UNSEEN')

    if status == "OK":
        for email_id in emails[0].split():
            status, email_data = mail.fetch(email_id, '(RFC822)')
            email_msg = email_data[0][1].decode('utf-8')

            # Send auto-reply
            send_email("Auto-reply", "Thank you for your email. I'll get back to you soon.", 'sender@example.com')

def send_email(subject, body, to_email):
    sender_email = 'youremail@gmail.com'
    sender_password = 'yourpassword'
    receiver_email = to_email

    msg = MIMEText(body)
    msg['From'] = sender_email
    msg['To'] = receiver_email
    msg['Subject'] = subject

    with smtplib.SMTP_SSL('smtp.gmail.com', 465) as server:
        server.login(sender_email, sender_password)
        server.sendmail(sender_email, receiver_email, msg.as_string())

auto_reply()

該腳本會自動識別未讀郵件,并使用預設內(nèi)容進行回復。

10.文件清理

Python 能高效實現(xiàn)文件自動清理,特別適合定期刪除或歸檔舊文件,保持目錄整潔有序。

以下是一個基于 os 和 time 模塊的腳本示例,可自動刪除超過指定天數(shù)的文件:

import aiofiles
import os
import asyncio
import time

async def clean_up(folder_path, days_old):
    now = time.time()
    cutoff_time = now - (days_old * 86400)
    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)
        if os.path.getmtime(file_path) < cutoff_time:
            await aiofiles.os.remove(file_path)
            print(f"Deleted {filename}")

folder = '/path/to/your/folder'
asyncio.run(clean_up(folder, 30))

11.自動生成密碼

生成高強度、唯一性密碼是安全防護的關鍵,而借助 Python 的 random 模塊,我們可以輕松實現(xiàn)自動化生成。

以下腳本可創(chuàng)建指定長度的隨機密碼,通過組合字母、數(shù)字和特殊字符來提升安全性:

import random
import asyncio
import string

async def generate_password(length=12):
    characters = string.ascii_letters + string.digits + string.punctuation
    password = ''.join(random.choice(characters) for _ in range(length))
    return password

async def generate_multiple_passwords(n, length=12):
    tasks = [generate_password(length) for _ in range(n)]
    passwords = await asyncio.gather(*tasks)
    print(passwords)

asyncio.run(generate_multiple_passwords(5))

12.任務追蹤/提醒系統(tǒng)

利用 Python 的 datetime 和 asyncio 模塊,可以輕松構建任務追蹤與定時提醒功能。

import asyncio
from datetime import datetime

async def task_reminder(task_name, interval):
    while True:
        print(f"Reminder: {task_name} - {datetime.now()}")
        await asyncio.sleep(interval)

async def main():
    await asyncio.gather(
        task_reminder("Drink Water", 7200),  # Remind every 2 hours
        task_reminder("Take a Break", 3600)  # Remind every 1 hour
    )

asyncio.run(main())

該腳本會在預定時間自動發(fā)送任務提醒。

13.自動生成每日報告

使用 Python 自動采集數(shù)據(jù)并生成格式化報告:

import datetime
import aiofiles
import asyncio

async def generate_report(data):
    today = datetime.date.today()
    filename = f"daily_report_{today}.txt"
    async with aiofiles.open(filename, 'w') as file:
        await file.write(f"Report for {today}\n")
        await file.write("\n".join(data))
    print(f"Report generated: {filename}")

data = ["Task 1: Completed", "Task 2: Pending", "Task 3: Completed"]
asyncio.run(generate_report(data))

14.監(jiān)控系統(tǒng)資源

如果是系統(tǒng)管理員,則可以在psutil庫的幫助下使用Python來監(jiān)控系統(tǒng)的資源,例如CPU和內(nèi)存使用情況。

import psutil

def monitor_resources():
    cpu_usage = psutil.cpu_percent(interval=1)
    memory_usage = psutil.virtual_memory().percent
    print(f"CPU Usage: {cpu_usage}%")
    print(f"Memory Usage: {memory_usage}%")

monitor_resources()

15.批量調(diào)整圖像大小

如果需要批量調(diào)整圖像大小,可以使用Python的Pillow庫輕松實現(xiàn)。

from PIL import Image
import os
import asyncio
from concurrent.futures import ProcessPoolExecutor

def resize_image(filename, width, height):
    img = Image.open(filename)
    img = img.resize((width, height))
    img.save(f"resized_{filename}")
    return f"Resized {filename}"

async def resize_images(folder_path, width, height):
    with ProcessPoolExecutor() as executor:
        loop = asyncio.get_event_loop()
        tasks = []
        for filename in os.listdir(folder_path):
            if filename.endswith('.jpg'):
                tasks.append(loop.run_in_executor(
                    executor, resize_image, os.path.join(folder_path, filename), width, height))
        results = await asyncio.gather(*tasks)
        print(results)

folder = '/path/to/your/images'
asyncio.run(resize_images(folder, 800, 600))

此腳本將文件夾中的所有.jpg圖像大小調(diào)整為指定的尺寸。

16.自動將數(shù)據(jù)備份到云

通過pydrive 等 Python 庫,可以實現(xiàn)自動備份文件至 Google Drive 等云服務的功能。

from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive

def backup_to_google_drive(file_path):
    gauth = GoogleAuth()
    gauth.LocalWebserverAuth()
    drive = GoogleDrive(gauth)
    file = drive.CreateFile({'title': 'backup_file.txt'})
    file.Upload()
    print("Backup uploaded successfully!")

file = '/path/to/your/file.txt' backup_to_google_drive(file)

17.創(chuàng)建每日提醒

使用 time 模塊可以輕松設置定時提醒,比如每隔2小時提醒喝水:

import time

def water_reminder():
    while True:
        print("Time to drink water!")
        time.sleep(7200)  # Remind every 2 hours

water_reminder()

18.自動將數(shù)據(jù)輸入到 Excel

如果經(jīng)常需要往Excel錄入數(shù)據(jù),使用openpyxl 庫就能輕松實現(xiàn)自動化操作:

from openpyxl import Workbook

def create_excel(data):
    wb = Workbook()
    ws = wb.active
    for row in data:
        ws.append(row)
    wb.save('data.xlsx')
    print("Excel file created successfully!")

data = [
    ["Name", "Age", "City"],
    ["John", 30, "New York"],
    ["Anna", 25, "London"],
]
create_excel(data)

19.自動數(shù)據(jù)清理

面對大型數(shù)據(jù)集時,利用Python可以輕松實現(xiàn)數(shù)據(jù)清洗自動化,例如自動刪除CSV文件中的空行:

import csv

def clean_csv(file_path):
    with open(file_path, 'r') as infile:
        reader = csv.reader(infile)
        rows = [row for row in reader if any(row)]
    
    with open(file_path, 'w', newline='') as outfile:
        writer = csv.writer(outfile)
        writer.writerows(rows)
    
    print("Empty rows removed from CSV")

file = '/path/to/your/data.csv' clean_csv(file)

20.從圖像中提取文本

借助pytesseract庫,Python 能輕松實現(xiàn)圖像文字識別,特別適用于印刷內(nèi)容數(shù)字化或掃描文檔文本提取等場景。

from PIL import Image
import pytesseract

def extract_text_from_image(image_path):
    # Open the image file
    img = Image.open(image_path)
    
    # Use pytesseract to extract text
    text = pytesseract.image_to_string(img)
    
    return text

image_path = 'path_to_your_image.jpg'
extracted_text = extract_text_from_image(image_path)
print("Extracted Text:\n", extracted_text)

以上就是一文分享20個實用的Python自動化腳本,提升10倍效率的詳細內(nèi)容,更多關于Python自動化腳本的資料請關注腳本之家其它相關文章!

相關文章

  • Python下簡易的單例模式詳解

    Python下簡易的單例模式詳解

    這篇文章主要介紹了Python下簡易的單例模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 使用Python實現(xiàn)讀寫文件自動化的幾種方法

    使用Python實現(xiàn)讀寫文件自動化的幾種方法

    在日常工作中,文件操作是最基礎也是最常見的任務之一,無論是批量處理數(shù)據(jù)文件,還是整理工作文檔,掌握高效的文件讀寫技巧都能極大提升工作效率,本文將介紹幾種實用的Python文件操作方法,幫助你輕松應對各種文件處理需求,需要的朋友可以參考下
    2025-08-08
  • Python實用技巧之列表、字典、集合中根據(jù)條件篩選數(shù)據(jù)詳解

    Python實用技巧之列表、字典、集合中根據(jù)條件篩選數(shù)據(jù)詳解

    這篇文章主要給大家介紹了關于Python技巧之在列表、字典、集合中根據(jù)條件篩選數(shù)據(jù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧
    2018-07-07
  • python實現(xiàn)人臉簽到系統(tǒng)

    python實現(xiàn)人臉簽到系統(tǒng)

    這篇文章主要為大家詳細介紹了python實現(xiàn)人臉簽到系統(tǒng),帶數(shù)據(jù)庫存儲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 基于Python編寫一個文檔密碼移除工具

    基于Python編寫一個文檔密碼移除工具

    保護文檔內(nèi)容是常見的需求,但有時我們可能會忘記或丟失文檔的密碼,導致無法訪問重要信息,本文將介紹如何使用Python創(chuàng)建一個簡單而實用的文檔密碼移除工具,需要的可以參考下
    2023-12-12
  • Python腳本在后臺持續(xù)運行的方法詳解

    Python腳本在后臺持續(xù)運行的方法詳解

    這篇文章主要為大家詳細介紹了Python腳本在后臺持續(xù)運行的相關方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04
  • Python DataFrame 設置輸出不顯示index(索引)值的方法

    Python DataFrame 設置輸出不顯示index(索引)值的方法

    今天小編就為大家分享一篇Python DataFrame 設置輸出不顯示index(索引)值的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python,Django實現(xiàn)的淘寶客登錄功能示例

    python,Django實現(xiàn)的淘寶客登錄功能示例

    這篇文章主要介紹了python,Django實現(xiàn)的淘寶客登錄功能,結合實例形式分析了Django框架基于淘寶接口的登錄功能相關操作技巧,需要的朋友可以參考下
    2019-06-06
  • pycharm2020.1.2永久破解激活教程,實測有效

    pycharm2020.1.2永久破解激活教程,實測有效

    很多使用pycharm2020.1.2版本的朋友,不知道如何激活破解,這篇文章主要介紹了pycharm2020.1.2永久破解激活教程,經(jīng)小編實測有效,需要的朋友可以參考下
    2020-10-10
  • 使用PySide多線程處理圖形界面卡頓問題詳解

    使用PySide多線程處理圖形界面卡頓問題詳解

    這篇文章主要介紹了使用PySide多線程處理圖形界面卡頓問題,在制作圖形界面時,只用一個線程很容易導致卡頓無響應,一旦主線程被阻塞,那么整個圖形界面都會無法繼續(xù)使用,為了解決這個問題,就得使用多線程,需要的朋友可以參考下
    2025-04-04

最新評論

大邑县| 内江市| 高淳县| 呈贡县| 睢宁县| 宁海县| 枣阳市| 柳河县| 西青区| 阜新市| 岫岩| 南涧| 临泽县| 南宁市| 永嘉县| 定边县| 林州市| 喀喇沁旗| 新河县| 宽城| 正宁县| 高唐县| 定州市| 南丰县| 明星| 阿拉尔市| 兰坪| 新昌县| 文山县| 扬中市| 攀枝花市| 富川| 依兰县| 潢川县| 申扎县| 鄂尔多斯市| 宁城县| 阳朔县| 正阳县| 桑日县| 牟定县|