为了账号安全,请及时绑定邮箱和手机立即绑定

帮你节省时间的25个Python自动化脚本神器

Python 是一个非常适合自动化日常任务的工具,这得益于它的简单性和丰富的库。下面列出了帮助在多个领域自动化常见任务的 Top 25 Python 脚本。

1. 自动化发送电子邮件
  • 使用Python发送带附件的邮件。
  • 要用到的库有:smtplibemail
    import smtplib  
    from email.mime.text import MIMEText  

    def send_email(subject, body, to_email):  
        smtp_server = "smtp.gmail.com"  
        smtp_port = 587  
        sender_email = "your_email@gmail.com"  
        sender_password = "your_password"  

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

        with smtplib.SMTP(smtp_server, smtp_port) as server:  
            server.starttls()  
            server.login(sender_email, sender_password)  
            server.sendmail(sender_email, to_email, msg.as_string())
2. 网页抓取:提取数据
  • 自动从网站上提取数据,库包:requestsBeautifulSoup
    import requests  # 导入requests库
    from bs4 import BeautifulSoup  # 导入BeautifulSoup库

    def scrape_weather():  # 定义一个抓取天气信息的函数
        url = "https://weather.com"  # 设置目标网页的URL
        response = requests.get(url)  # 发送HTTP GET请求获取网页内容
        soup = BeautifulSoup(response.text, 'html.parser')  # 使用BeautifulSoup解析网页内容
        print(soup.title.string)  # 打印网页的标题内容

步骤3:从网上下载文件

  • 自动从 URL 地址下载文件。
  • 使用 requests
# 下载文件函数,用于从指定URL下载文件并保存到指定路径
def download_file(url, save_path): 
    response = requests.get(url) 
    with open(save_path, 'wb') as file: 
        file.write(response.content)
4. 自动文件分类.
  • 自动按文件扩展名整理文件。
  • 库:osshutil
import os  
import shutil  

def sort_files(directory):  
    # 获取目录中的文件列表
    for file in os.listdir(directory):  
        # 获取文件扩展名
        ext = file.split('.')[-1]  
        # 创建目录
        folder = os.path.join(directory, ext)  
        os.makedirs(folder, exist_ok=True)  
        # 移动文件
        shutil.move(os.path.join(directory, file), os.path.join(folder, file))
5. 批量重命名文件:
  • 批量重命名文件。
  • 依赖库:os
以下是英文代码示例

```python
    import os  # 导入os模块

    def rename_files(directory, prefix):  # 用于重命名文件的函数
        for i, file in enumerate(os.listdir(directory)):  # 目录路径
            os.rename(os.path.join(directory, file), os.path.join(directory, f"{prefix}_{i}.txt"))  # 进行重命名操作
            # 构建新的文件名

#6: 自动备份

* 将重要文件备份成一个 zip 文件。
* 库(`shutil`)
import shutil  

def 制作备份(source_dir, backup_file):  
    # 创建一个zip类型的压缩文件,将source_dir中的文件打包到backup_file中
    shutil.make_archive(backup_file, 'zip', source_dir)

# 7. 自动化社交媒体发布

* 安排推特推文/状态更新。
* 库:`tweepy` 和 `facebook-sdk`
import tweepy  # 导入tweepy库

# 定义发布推文的函数,参数包括API密钥、密钥密钥、访问令牌和令牌密钥,以及要发布的推文内容
def post_tweet(api_key, api_secret, access_token, access_secret, tweet):  
    # 创建OAuthHandler对象,用于OAuth认证
    auth = tweepy.OAuthHandler(api_key, api_secret)  
    # 设置访问令牌和令牌密钥,完成OAuth认证
    auth.set_access_token(access_token, access_secret)  
    # 创建API对象,用于与Twitter API交互
    api = tweepy.API(auth)  
    # 更新状态,发布推文
    api.update_status(tweet)

#8 自动化处理电子表格中的数据

* 读写 Excel 文件。
* 库包:`openpyxl`(一个Python库包)

导入 openpyxl

def 读取Excel(file):
wb = openpyxl.load_workbook(file)
sheet = wb.active
for row in sheet.iter_rows():
print([cell.value for cell in row])


9. 自动化文本翻译

* 使用API来翻译文本。
* 例如,可以使用`googletrans`库。

from googletrans import Translator

def translate_text(text, dest_lang): # 定义翻译文本的函数
translator = Translator() # 创建Translator对象
return translator.translate(text, dest=dest_lang).text # 返回翻译后的文本


#10: 自动处理 PDF 操作

* 合并、拆分或提取PDF中的文本。
* 库包:Python `PyPDF2`

从PyPDF2导入PdfReader和PdfMerger

def 合并pdfs(pdf_list, 输出):
pdf合并器 = PdfMerger()
for pdf in pdf_list:
pdf合并器.append(pdf)
pdf合并器.write(输出)


#11:自动化图像处理

* 调整尺寸、旋转或添加水印标志。
* 库:例如`Pillow`

从PIL导入Image

def resize_image(image_path, output_path, size):
with Image.open(image_path) as img:
img.resize(size).save(output_path)


#12. 自动化网站监视

* 当网站更新时通知我,
* 需要用到的库有`requests`, `time`,
import requests  
import time  

# 这个函数用来监控网站的更新情况,每隔一定时间检查一次
def monitor_website(url, interval):  
    prev_content = None  
    while True:  
        response = requests.get(url)  
        if response.text != prev_content:  
            print("网站更新了!")  
            prev_content = response.text  
        time.sleep(interval)

# 13. 自动备份数据库

* 备份数据库,如MySQL。
* 库:`subprocess`(注意:这里的`subprocess`是Python中的库,不适用于备份MySQL数据库)

```python
    import subprocess  

    def backup_mysql(user, password, db_name, output):  # 备份MySQL数据库的函数
        cmd = f"mysqldump -u {user} -p {password} {db_name} > {output}"  # 构建命令字符串
        subprocess.run(cmd, shell=True)  # 运行命令

        # 用户名
        # 密码
        # 数据库名
        # 输出路径
用户名
密码
数据库名
输出路径
14. 自动化 Slack 消息提醒
  • 通过编程发送Slack消息。
  • 库:slack-sdk
from slack_sdk import WebClient  # 从slack_sdk导入WebClient

# 下面定义一个发送Slack消息的函数,接受三个参数:token(令牌),channel(频道)和text(消息文本)。
def send_slack_message(token, channel, text):  
    client = WebClient(token=token)  
    client.chat_postMessage(channel=channel, text=text)
15. 自动更新天气

首先,我们需要获取天气信息。需要用到的库有:requests

    导入 requests 库

    def 天气查询(api_key, city):  
        url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}"  
        return requests.get(url).json()
16. 自动文本转语音
  • 把文本转成语音。
  • 使用库:pyttsx3
导入pyttsx3

# 初始化语音引擎
def text_to_speech(text):  
    engine = pyttsx3.init()  
    engine.say(text)  
    engine.runAndWait()
17. 自动货币转换
  • 使用API来转换货币。
  • 可以使用这个库:forex-python
    从 forex_python.converter 导入 CurrencyRates 作为 c  

    def convert_currency(amount, from_currency, to_currency):  
        c = CurrencyRates()  
        return c.convert(源货币, 目标货币, amount)
18. 自动化任务安排
  • 安排Python任务的调度。
  • 库:schedule
    import schedule  
    import time  

    def 任务():  
        print("任务运行中...")  

    schedule.every().day.at("10:00").do(任务)  

    while True:  
        schedule.run_pending()  
        time.sleep(1)
19. 自动化提醒
  • 手机推送通知。
  • 库包:pushbullet
from pushbullet import Pushbullet  # 引入Pushbullet模块

def send_notification(api_key, title, body):  # 定义一个发送通知的函数
    pb = Pushbullet(api_key)  # 创建一个Pushbullet对象,使用提供的apikey
    # 接下来,我们使用这个对象发送一个通知
    pb.push_note(title, body)
20. 自动化目录清理
  • 删除目录里的旧文件。
  • 使用的库:os, time
    import os  
    import time  

    # 清理目录中最后修改日期超过指定天数的文件
    def 清理(directory, days):  
        now = time.time()  
        for file in os.listdir(directory):  
            filepath = os.path.join(directory, file)  
            if os.stat(filepath).st_mtime < now - days * 86400:  
                os.remove(filepath)
21. 自动监控股票价格
  • 获取股票价格。
  • 库:yfinance
    导入 yfinance as yf  # 导入yfinance库并将其别名为yf   

    定义一个函数来获取股票价格(ticker):  
        stock = yf.Ticker(ticker)  
        return stock.历史(period="1d")["Close"]
第二十二. 自动生成二维码生成
  • 为文本或网址生成二维码。
  • 库:qrcode
    导入 qrcode 库  

    def 生成QR(data, filename):  
        qr = qrcode.make(data)  
        qr.save(filename)
23. 自动化按键仿真
  • 自动执行键盘输入。
  • 库:pyautogui(一个用于模拟键盘和鼠标操作的库)
    import pyautogui  

    # 自动化打字函数
    def automate_typing(text):  
        # 输入文本并发送
        pyautogui.typewrite(text)
  1. 自动化 Git 操作.
  • 自动化 git push/pull。
  • 库(包):subprocess
import subprocess   

def 提交推送(message):  
    # 提交所有更改到git仓库
    subprocess.run(["git", "add", "."])  
    # 添加提交信息
    subprocess.run(["git", "commit", "-m", message])  
    # 推送更改到远程仓库
    subprocess.run(["git", "push"])
25. 自动化时间记录
  • 记录你在任务上花费的时间。
  • 库:time(时间库)
    import time  

    start_time = time.time()  
    # 做一些工作  
    print("用时:", time.time() - start_time)

这些脚本可以帮你节省时间并简化重复的工作。将这些脚本与 cron 任务或任务调度器结合使用,可以实现强大的自动化。

如需更多详情或在选择最适合您需求的解决方案时,请访问https://vastites.ca/,我们的团队将为您提供帮助。您也可以通过电话+1 (647) 491–6566联系我们。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消