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%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。