文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python十个常用的自动化脚本

2024-11-29 21:39

关注

1. 文件批量重命名

面对一堆杂乱无章的文件名,手动更改费时费力。以下脚本可以批量将文件名中的特定字符替换或增加前缀后缀。

import os
def batch_rename(directory, find_str, replace_str, prefix=''):
    for filename in os.listdir(directory):
        if find_str in filename:
            new_filename = filename.replace(find_str, replace_str)
            new_filename = prefix + new_filename if prefix else new_filename
            os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))
# 示例用法
batch_rename('/path/to/your/directory', 'old_', 'new_', 'updated_')

2. 网页内容抓取

自动抓取网页信息,如新闻、天气预报等,是信息收集的有力工具。

import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com/news'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for title in soup.find_all('h2', class_='news-title'):
    print(title.text.strip())

3. 定时发送邮件提醒

安排会议、生日祝福或日常提醒,通过邮件自动发送。

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import schedule
import time
def send_email():
    sender_email = "your_email@example.com"
    receiver_email = "receiver@example.com"
    password = input("Type your password and press enter: ")
    message = MIMEMultipart("alternative")
    message["Subject"] = "Daily Reminder"
    message["From"] = sender_email
    message["To"] = receiver_email
    text = """\
    Hi,
    This is your daily reminder!
    """
    part = MIMEText(text, "plain")
    message.attach(part)
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message.as_string())
    server.quit()
schedule.every().day.at("10:30").do(send_email)
while True:
    schedule.run_pending()
    time.sleep(1)

4. 数据备份脚本

定期备份重要文件,保护数据安全。

import shutil
import datetime
source_folder = '/path/to/source'
backup_folder = f'/path/to/backup/{datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")}'
shutil.copytree(source_folder, backup_folder)
print(f"Backup completed at {backup_folder}")

5. 社交媒体监控

监控社交媒体上的关键词提及,例如微博、Twitter等。

import tweepy
# 需要先在Twitter开发者账户获取API密钥
consumer_key = 'your_consumer_key'
consumer_secret = 'your_consumer_secret'
access_token = 'your_access_token'
access_token_secret = 'your_access_token_secret'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
search_query = '#Python'
tweets = api.search(q=search_query,, count=10)
for tweet in tweets:
    print(tweet.user.name, tweet.text)

6. PDF文件合并

将多个PDF文件合并成一个文档。

from PyPDF2 import PdfMerger
pdf_files = ['/path/to/file1.pdf', '/path/to/file2.pdf']
merger = PdfMerger()
for pdf_file in pdf_files:
    merger.append(pdf_file)
merger.write('/path/to/output.pdf')
merger.close()
print("PDFs merged successfully.")

7. 自动化表格处理

使用pandas处理CSV或Excel文件,自动化数据清洗和分析。

import pandas as pd
df = pd.read_csv('data.csv')
# 数据清洗示例:去除空值
df.dropna(inplace=True)
# 数据分析示例:计算平均值
average_score = df['Score'].mean()
print(f"Average Score: {average_score}")

8. 图片批量压缩

自动调整图片大小,节省存储空间。

from PIL import Image
def compress_image(image_path, output_path, quality=90):
    img = Image.open(image_path)
    img.save(output_path, optimize=True, quality=quality)
images_folder = '/path/to/images'
for filename in os.listdir(images_folder):
    if filename.endswith('.jpg') or filename.endswith('.png'):
        img_path = os.path.join(images_folder, filename)
        output_path = os.path.join(images_folder, f"compressed_{filename}")
        compress_image(img_path, output_path)
print("Images compressed.")

9. 网络状态监测

定期检查网络连接状况,确保在线服务稳定。

import urllib.request
import time
def check_internet():
    try:
        urllib.request.urlopen("http://www.google.com", timeout=5)
        print("Internet is connected.")
    except urllib.error.URLError:
        print("No internet connection.")
while True:
    check_internet()
    time.sleep(60)  # 每分钟检查一次

10. 系统资源监控

监控CPU和内存使用情况,预防系统过载。

import psutil
def monitor_resources():
    cpu_percent = psutil.cpu_percent(interval=1)
    memory_info = psutil.virtual_memory()
    print(f"CPU Usage: {cpu_percent}%")
    print(f"Memory Usage: {memory_info.percent}%")
while True:
    monitor_resources()
    time.sleep(5)  # 每5秒检查一次

总结

以上脚本涵盖了日常办公、数据分析、系统维护等多个领域的自动化需求,展现了Python在提升工作效率和生活质量方面的巨大潜力。希望这些建议能够激发你的灵感,让你的日常生活更加智能化和高效。实践是检验真理的唯一标准,不妨从现在开始,根据自己的需求定制专属的自动化解决方案吧!


来源:测试开发学习交流内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯