10个python自动化日常任务实战脚本示例

951 篇文章 0 订阅
138 篇文章 0 订阅

1. 文件重命名工具

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}'")
directory = '/path/to/your/files'
prefix = 'file'
rename_files(directory, prefix)

2. 备份文件夹至ZIP文件

import zipfile
import os
def backup_to_zip(folder):
    folder = os.path.abspath(folder)  # Make sure the folder is absolute.
    number = 1
    while True:
        zip_filename = f"backup_{number}.zip"
        if not os.path.exists(zip_filename):
            break
        number += 1
    print(f"Creating {zip_filename}...")
    backup_zip = zipfile.ZipFile(zip_filename, 'w')
    for foldername, subfolders, filenames in os.walk(folder):
        print(f'Adding files in {foldername}...')
        backup_zip.write(foldername)
        for filename in filenames:
            new_base = os.path.basename(folder) + '_'
            if filename.startswith(new_base) and filename.endswith('.zip'):
                continue  # skip zip files starting with the new base name
            backup_zip.write(os.path.join(foldername, filename))
    backup_zip.close()
    print("Backup Complete.")
backup_to_zip('/path/to/your/folder')

3. PDF页面合并工具

from PyPDF2 import PdfReader, PdfWriter
def merge_pdfs(paths, output):
    pdf_writer = PdfWriter()
    for path in paths:
        pdf_reader = PdfReader(path)
        for page in range(len(pdf_reader.pages)):
            pdf_writer.add_page(pdf_reader.pages[page])
    with open(output, 'wb') as fh:
        pdf_writer.write(fh)
paths = ['/path/to/file1.pdf', '/path/to/file2.pdf']
output = '/path/to/output.pdf'
merge_pdfs(paths, output)

4. 文本替换工具

import re
def replace_text_in_file(filename, old_text, new_text):
    with open(filename, 'r') as file:
        file_data = file.read()
    file_data = re.sub(old_text, new_text, file_data)
    with open(filename, 'w') as file:
        file.write(file_data)
filename = '/path/to/your/file.txt'
old_text = 'old_text'
new_text = 'new_text'
replace_text_in_file(filename, old_text, new_text)

5. 图片压缩工具

from PIL import Image
def compress_image(input_image_path, output_image_path, quality=85):
    picture = Image.open(input_image_path)
    picture.save(output_image_path, optimize=True, quality=quality)
input_image_path = '/path/to/your/image.jpg'
output_image_path = '/path/to/compressed/image.jpg'
compress_image(input_image_path, output_image_path)

6. 网页抓取工具

import requests
from bs4 import BeautifulSoup
def get_page_title(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.text, 'html.parser')
    title = soup.title.string
    return title
url = 'https://example.com'
title = get_page_title(url)
print(f"The title of the webpage is: {title}")

7. Excel数据处理工具

import pandas as pd
def process_excel(file_path, sheet_name):
    data = pd.read_excel(file_path, sheet_name=sheet_name)
    # 进行数据处理...
    processed_data = data[data['column_name'] > 10]  # 示例:筛选大于10的数据
    processed_data.to_excel('processed_data.xlsx', index=False)
file_path = '/path/to/your/excel.xlsx'
sheet_name = 'Sheet1'
process_excel(file_path, sheet_name)

8. 发送邮件工具

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
def send_email(subject, body, to, server='localhost'):
    msg = MIMEMultipart()
    msg['From'] = 'sender@example.com'
    msg['To'] = to
    msg['Subject'] = subject
    msg.attach(MIMEText(body, 'plain'))
    with smtplib.SMTP(server) as smtp:
        smtp.send_message(msg)
subject = 'Hello!'
body = 'This is a test email.'
to = 'receiver@example.com'
send_email(subject, body, to)

9. 日志分析工具

import re
def parse_logs(log_file_path):
    pattern = r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
    with open(log_file_path, 'r') as log_file:
        for line in log_file:
            match = re.search(pattern, line)
            if match:
                ip_address = match.group()
                print(ip_address)
log_file_path = '/path/to/your/log.txt'
parse_logs(log_file_path)

10. 文件搜索工具

import os
def search_files(directory, keyword):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if keyword in file:
                print(os.path.join(root, file))
directory = '/path/to/search'
keyword = 'search_term'
search_files(directory, keyword)

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值