首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Python 30个自动化日常任务脚本:职场效率提升利器

Python 30个自动化日常任务脚本:职场效率提升利器

作者头像
用户11081884
发布于 2026-07-20 17:12:16
发布于 2026-07-20 17:12:16
3890
举报
文章被收录于专栏:科技专栏科技专栏

Python简洁的语法和丰富的库生态系统,成为自动化任务的首选工具。本文介绍30个实用的Python自动化脚本,涵盖文件处理、数据管理、网络操作、定时任务等多个方面,帮助大幅提升工作效率。

1. CSV文件数据清洗工具

代码语言:javascript
复制
import csv

def clean_csv(input_file, output_file):
    with open(input_file, mode='r', newline='', encoding='utf-8') as infile, \
         open(output_file, mode='w', newline='', encoding='utf-8') as outfile:
        reader = csv.reader(infile)
        writer = csv.writer(outfile)
        for row in reader:
            cleaned_row = [cell.strip() for cell in row]
            writer.writerow(cleaned_row)

input_file = '/path/to/input.csv'
output_file = '/path/to/cleaned_output.csv'
clean_csv(input_file, output_file)

2. 文件夹内容统计工具

代码语言:javascript
复制
import os

def count_files_and_dirs(directory):
    total_files = 0
    total_dirs = 0
    for root, dirs, files in os.walk(directory):
        total_files += len(files)
        total_dirs += len(dirs)
    return total_files, total_dirs

directory = '/path/to/your/directory'
files, dirs = count_files_and_dirs(directory)
print(f"Total files: {files}, Total directories: {dirs}")

3. 文件类型分类工具

代码语言:javascript
复制
import os

def classify_files_by_type(directory):
    file_types = {}
    for filename in os.listdir(directory):
        if os.path.isfile(os.path.join(directory, filename)):
            extension = os.path.splitext(filename)[1]
            if extension in file_types:
                file_types[extension] += 1
            else:
                file_types[extension] = 1
    return file_types

directory = '/path/to/your/directory'
file_types = classify_files_by_type(directory)
for ext, count in file_types.items():
    print(f"Files with extension '{ext}': {count}")

4. 图像识别标签生成

代码语言:javascript
复制
from PIL import Image
from pytesseract import pytesseract

def image_to_text(image_path):
    img = Image.open(image_path)
    text = pytesseract.image_to_string(img)
    return text

image_path = '/path/to/your/image.png'
text = image_to_text(image_path)
print(f"Text from image: {text}")

5. 视频转音频工具

代码语言:javascript
复制
from moviepy.editor import VideoFileClip

def convert_video_to_audio(video_path, audio_path):
    clip = VideoFileClip(video_path)
    clip.audio.write_audiofile(audio_path)

video_path = '/path/to/your/video.mp4'
audio_path = '/path/to/converted/audio.mp3'
convert_video_to_audio(video_path, audio_path)

6. 从网页提取图片

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup
import os

def extract_images_from_webpage(url, output_dir):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    images = soup.find_all('img')
    os.makedirs(output_dir, exist_ok=True)
    for image in images:
        src = image.get('src')
        if src and src.startswith('http'):
            image_data = requests.get(src).content
            filename = os.path.join(output_dir, os.path.basename(src))
            with open(filename, 'wb') as f:
                f.write(image_data)

url = ' https://example.com '
output_dir = '/path/to/output/images'
extract_images_from_webpage(url, output_dir)

7. 文本文件翻译工具

代码语言:javascript
复制
from deep_translator import GoogleTranslator

def translate_text(input_file, output_file, target_language):
    with open(input_file, 'r', encoding='utf-8') as file:
        text = file.read()
    translated_text = GoogleTranslator(source='auto', target=target_language).translate(text)
    with open(output_file, 'w', encoding='utf-8') as file:
        file.write(translated_text)

input_file = '/path/to/your/text.txt'
output_file = '/path/to/translated_text.txt'
target_language = 'es'  # 西班牙语
translate_text(input_file, output_file, target_language)

8. 文本摘要生成工具

代码语言:javascript
复制
from transformers import pipeline

def generate_summary(text):
    summarizer = pipeline("summarization")
    summary = summarizer(text, max_length=130, min_length=30, do_sample=False)
    return summary[0]['summary_text']

text = """Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor."""
summary = generate_summary(text)
print(f"Summary: {summary}")

9. 文件夹内容同步工具

代码语言:javascript
复制
import shutil
import os

def sync_folders(src_folder, dst_folder):
    for item in os.listdir(src_folder):
        s = os.path.join(src_folder, item)
        d = os.path.join(dst_folder, item)
        if os.path.isdir(s):
            shutil.copytree(s, d, dirs_exist_ok=True)
        else:
            shutil.copy2(s, d)

src_folder = '/path/to/source/folder'
dst_folder = '/path/to/destination/folder'
sync_folders(src_folder, dst_folder)

10. 数据备份到云存储服务

代码语言:javascript
复制
import boto3

def upload_to_s3(bucket_name, local_file_path, remote_file_path):
    s3 = boto3.client('s3')
    s3.upload_file(local_file_path, bucket_name, remote_file_path)

bucket_name = 'your-bucket-name'
local_file_path = '/path/to/your/local/file'
remote_file_path = 'path/to/remote/file'
upload_to_s3(bucket_name, local_file_path, remote_file_path)

11. 批量重命名文件工具

代码语言:javascript
复制
import os

def batch_rename(directory, prefix):
    for i, filename in enumerate(os.listdir(directory)):
        os.rename(
            os.path.join(directory, filename),
            os.path.join(directory, f"{prefix}_{i}{os.path.splitext(filename)[1]}")
        )

directory = '/path/to/files'
prefix = 'new_name'
batch_rename(directory, prefix)

12. 自动发送电子邮件

代码语言:javascript
复制
import smtplib
from email.mime.text import MIMEText

def send_email(subject, body, to_email):
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = 'your_email@example.com'
    msg['To'] = to_email
    
    with smtplib.SMTP('smtp.example.com', 587) as server:
        server.starttls()
        server.login('your_email@example.com', 'your_password')
        server.send_message(msg)

send_email('Test Subject', 'This is the email body', 'recipient@example.com')

13. 网页内容监控工具

代码语言:javascript
复制
import requests
import time

def monitor_website(url, check_interval=60):
    previous_content = requests.get(url).text
    while True:
        time.sleep(check_interval)
        current_content = requests.get(url).text
        if current_content != previous_content:
            print("Website content has changed!")
            previous_content = current_content

monitor_website(' https://example.com ')

14. 自动填写表单工具

代码语言:javascript
复制
from selenium import webdriver

def auto_fill_form(url, form_data):
    driver = webdriver.Chrome()
    driver.get(url)
    
    for field_name, value in form_data.items():
        element = driver.find_element_by_name(field_name)
        element.send_keys(value)
    
    submit_button = driver.find_element_by_xpath("//input[@type='submit']")
    submit_button.click()

form_data = {
    'username': 'your_username',
    'password': 'your_password'
}
auto_fill_form(' https://example.com/login ', form_data)

15. 自动生成报告工具

代码语言:javascript
复制
from docx import Document

def generate_report(title, content, output_file):
    doc = Document()
    doc.add_heading(title, level=1)
    doc.add_paragraph(content)
    doc.save(output_file)

generate_report('Monthly Report', 'This is the report content...', 'monthly_report.docx')

16. 社交媒体自动发布工具

代码语言:javascript
复制
import tweepy

def tweet_message(api_key, api_secret, access_token, access_token_secret, message):
    auth = tweepy.OAuthHandler(api_key, api_secret)
    auth.set_access_token(access_token, access_token_secret)
    api = tweepy.API(auth)
    api.update_status(message)

tweet_message('your_api_key', 'your_api_secret', 
              'your_access_token', 'your_access_token_secret',
              'Hello from Python!')

17. 自动会议记录生成器

代码语言:javascript
复制
import speech_recognition as sr

def transcribe_meeting(audio_file):
    r = sr.Recognizer()
    with sr.AudioFile(audio_file) as source:
        audio = r.record(source)
    try:
        return r.recognize_google(audio)
    except Exception as e:
        return f"Error: {str(e)}"

transcription = transcribe_meeting('meeting_recording.wav')
with open('meeting_transcript.txt', 'w') as f:
    f.write(transcription)

18. 自动数据可视化工具

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt

def auto_visualize(data_file):
    df = pd.read_csv(data_file)
    df.plot(kind='bar')
    plt.savefig('visualization.png')

auto_visualize('data.csv')

19. 密码管理器

代码语言:javascript
复制
from cryptography.fernet import Fernet
import json

def generate_key():
    return Fernet.generate_key()

def encrypt_password(key, password):
    f = Fernet(key)
    return f.encrypt(password.encode()).decode()

def decrypt_password(key, encrypted_password):
    f = Fernet(key)
    return f.decrypt(encrypted_password.encode()).decode()

key = generate_key()
encrypted = encrypt_password(key, "my_secret_password")
print(decrypt_password(key, encrypted))

20. 系统资源监控工具

代码语言:javascript
复制
import psutil
import time

def monitor_resources(interval=5):
    while True:
        cpu = psutil.cpu_percent()
        memory = psutil.virtual_memory().percent
        print(f"CPU Usage: {cpu}%, Memory Usage: {memory}%")
        time.sleep(interval)

monitor_resources()

21. 批量文件重命名工具

代码语言:javascript
复制
import os

def rename_files(directory, prefix):
    for filename in os.listdir(directory):
        file_path = os.path.join(directory, filename)
        if os.path.isfile(file_path):
            new_filename = f"{prefix}_{filename}"
            new_file_path = os.path.join(directory, new_filename)
            os.rename(file_path, new_file_path)
            print(f"Renamed '{filename}' to '{new_filename}'")

# 示例用法
rename_files('/path/to/your/files', 'project')

这个脚本可以批量重命名文件夹中的所有文件,添加统一前缀,特别适合整理项目文件或照片库。

22. 文件分类整理工具

代码语言:javascript
复制
import os
import shutil

def organize_folder(folder_path):
    file_types = {
        "Images": [".jpg", ".jpeg", ".png", ".gif"],
        "Documents": [".pdf", ".docx", ".txt"],
        "Spreadsheets": [".xlsx", ".csv"],
        "Videos": [".mp4", ".mov", ".avi"]
    }
    for file_name in os.listdir(folder_path):
        file_path = os.path.join(folder_path, file_name)
        if os.path.isfile(file_path):
            file_ext = os.path.splitext(file_name)[1].lower()
            for folder, extensions in file_types.items():
                if file_ext in extensions:
                    target_folder = os.path.join(folder_path, folder)
                    os.makedirs(target_folder, exist_ok=True)
                    shutil.move(file_path, os.path.join(target_folder, file_name))
                    break

自动将下载文件夹中的文件按类型分类到不同子文件夹,保持工作环境整洁。

23. 自动化数据备份脚本

代码语言:javascript
复制
import os
import shutil
import datetime
import zipfile

def backup_files(src_dir, backup_dir):
    current_time = datetime.datetime.now().strftime("%Y%m%d_%H%M%S")
    backup_name = f"backup_{current_time}"
    backup_path = os.path.join(backup_dir, backup_name)
    
    if not os.path.exists(backup_dir):
        os.makedirs(backup_dir)
    
    with zipfile.ZipFile(backup_path + '.zip', 'w', zipfile.ZIP_DEFLATED) as zipf:
        for root, _, files in os.walk(src_dir):
            for file in files:
                file_path = os.path.join(root, file)
                arc_name = os.path.relpath(file_path, src_dir)
                zipf.write(file_path, arc_name)
    
    print(f"备份完成!文件保存在: {backup_path}.zip")

这个脚本将指定文件夹压缩备份,并添加时间戳,确保数据安全。

24. 邮件自动发送工具

代码语言:javascript
复制
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def send_email(subject, body, recipient):
    sender_email = "your_email@gmail.com"
    sender_password = "your_password"
    
    message = MIMEMultipart()
    message["From"] = sender_email
    message["To"] = recipient
    message["Subject"] = subject
    message.attach(MIMEText(body, "plain"))
    
    with smtplib.SMTP("smtp.gmail.com", 587) as server:
        server.starttls()
        server.login(sender_email, sender_password)
        server.send_message(message)
    
    print("Email sent!")

自动发送邮件,适用于日报发送、会议提醒等场景。

25. 网页数据抓取工具

代码语言:javascript
复制
import requests
from bs4 import BeautifulSoup

def fetch_headlines(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    headlines = soup.find_all('h2')
    for i, headline in enumerate(headlines[:5]):
        print(f"{i+1}. {headline.text.strip()}")

# 示例用法
fetch_headlines(" https://news.ycombinator.com/ ")

抓取网页头条新闻,保持信息更新,适用于市场调研和竞品分析。

26. 自动打开常用网页

代码语言:javascript
复制
import webbrowser

def open_websites():
    urls = [
        " https://mail.google.com ",
        " https://www.jira.com ",
        " https://www.github.com "
    ]
    for url in urls:
        webbrowser.open(url)

# 示例用法
open_websites()

一键打开工作所需的所有网页,节省每天重复操作的时间。

27. 文本替换工具

代码语言:javascript
复制
def replace_text_in_file(file_path, old_text, new_text):
    with open(file_path, 'r+') as file:
        content = file.read()
        new_content = content.replace(old_text, new_text)
        file.seek(0)
        file.write(new_content)
        file.truncate()

# 示例用法
replace_text_in_file('/your/text.txt', 'old_word', 'new_word')

批量替换文本文件中的内容,适用于合同模板、代码批量修改等场景。

28. 实时文件监控备份

代码语言:javascript
复制
import os
import shutil
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
from datetime import datetime

class FileBackupHandler(FileSystemEventHandler):
    def __init__(self, source_dir, backup_dir):
        self.source_dir = source_dir
        self.backup_dir = backup_dir
    
    def on_modified(self, event):
        if not event.is_directory:
            self.copy_file(event.src_path)
    
    def copy_file(self, src):
        timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
        backup_path = os.path.join(self.backup_dir, f"backup_{timestamp}")
        os.makedirs(backup_path, exist_ok=True)
        shutil.copy2(src, backup_path)

def monitor_folder(source_dir, backup_dir):
    event_handler = FileBackupHandler(source_dir, backup_dir)
    observer = Observer()
    observer.schedule(event_handler, source_dir, recursive=True)
    observer.start()
    try:
        while True:
            time.sleep(1)
    except KeyboardInterrupt:
        observer.stop()
    observer.join()

实时监控文件夹变化并自动备份,确保重要文件不会丢失。

29. 定时任务调度器

代码语言:javascript
复制
import schedule
import time

def job():
    print("Job running...")

# 设置定时任务
schedule.every(1).minutes.do(job)
schedule.every().day.at("10:30").do(job)

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

灵活安排定时任务,如每日报表生成、定期数据备份等。

30. 社交媒体自动发布工具

代码语言:javascript
复制
import tweepy

def post_tweet(api_key, api_secret, access_token, access_secret, message):
    auth = tweepy.OAuthHandler(api_key, api_secret)
    auth.set_access_token(access_token, access_secret)
    api = tweepy.API(auth)
    api.update_status(message)

# 示例用法
post_tweet("API_KEY", "API_SECRET", "ACCESS_TOKEN", "ACCESS_SECRET", "Hello, Twitter!")

自动发布社交媒体内容,适用于品牌营销和内容运营。

本文脚本是基本的功能,旨在说明Python语言简洁的语法和丰富的库生态系统。在具体的场景中根据实际进行使用能极大提升效率。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • 1. CSV文件数据清洗工具
  • 2. 文件夹内容统计工具
  • 3. 文件类型分类工具
  • 4. 图像识别标签生成
  • 5. 视频转音频工具
  • 6. 从网页提取图片
  • 7. 文本文件翻译工具
  • 8. 文本摘要生成工具
  • 9. 文件夹内容同步工具
  • 10. 数据备份到云存储服务
  • 11. 批量重命名文件工具
  • 12. 自动发送电子邮件
  • 13. 网页内容监控工具
  • 14. 自动填写表单工具
  • 15. 自动生成报告工具
  • 16. 社交媒体自动发布工具
  • 17. 自动会议记录生成器
  • 18. 自动数据可视化工具
  • 19. 密码管理器
  • 20. 系统资源监控工具
  • 21. 批量文件重命名工具
  • 22. 文件分类整理工具
  • 23. 自动化数据备份脚本
  • 24. 邮件自动发送工具
  • 25. 网页数据抓取工具
  • 26. 自动打开常用网页
  • 27. 文本替换工具
  • 28. 实时文件监控备份
  • 29. 定时任务调度器
  • 30. 社交媒体自动发布工具
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档