十个常见的Python脚本详细介绍及代码举例
1. 批量重命名文件
介绍: 该脚本用于批量重命名指定目录下的文件,例如将所有 ".txt" 文件重命名为 ".md" 文件。
import os def batch_rename(directory, old_ext, new_ext): """批量重命名文件扩展名。 Args: directory: 要处理的目录路径。 old_ext: 要替换的旧扩展名。 new_ext: 要替换的新扩展名。 """ for filename in os.listdir(directory): if filename.endswith(old_ext): base_name = os.path.splitext(filename)[0] new_filename = base_name + new_ext old_path = os.path.join(directory, filename) new_path = os.path.join(directory, new_filename) os.rename(old_path, new_path) # 示例用法:将当前目录下所有 ".txt" 文件重命名为 ".md" 文件 batch_rename(".", ".txt", ".md")
2. 下载网页图片
介绍: 该脚本用于下载指定网页上的所有图片,并保存到本地目录。
import requests from bs4 import BeautifulSoup import os def download_images(url, save_dir): """下载网页上的所有图片。 Args: url: 要下载图片的网页地址。 save_dir: 保存图片的目录路径。 """ response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 创建保存目录 if not os.path.exists(save_dir): os.makedirs(save_dir) # 找到所有图片标签 img_tags = soup.find_all('img') # 下载每张图片 for i, img_tag in enumerate(img_tags): img_url = img_tag.get('src') if img_url: img_data = requests.get(img_url).content img_name = f"image_{i+1}.jpg" img_path = os.path.join(save_dir, img_name) with open(img_path, 'wb') as f: f.write(img_data) print(f"Downloaded: {img_name}") # 示例用法:下载百度首页的图片 download_images("https://www.baidu.com", "baidu_images")
3. 发送邮件通知
介绍: 该脚本用于发送邮件通知,例如在脚本执行完毕后发送邮件通知管理员。
import smtplib from email.mime.text import MIMEText def send_email(sender_email, sender_password, receiver_email, subject, message): """发送邮件通知。 Args: sender_email: 发送方邮箱地址。 sender_password: 发送方邮箱密码。 receiver_email: 接收方邮箱地址。 subject: 邮件主题。 message: 邮件内容。 """ msg = MIMEText(message, 'plain', 'utf-8') msg['Subject'] = subject msg['From'] = sender_email msg['To'] = receiver_email try: with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp: smtp.login(sender_email, sender_password) smtp.send_message(msg) print("邮件发送成功!") except Exception as e: print(f"邮件发送失败:{e}") # 示例用法:发送邮件通知 send_email("your_email@gmail.com", "your_password", "receiver@example.com", "脚本执行完毕", "脚本已成功执行!")
4. 读取 CSV 文件
介绍: 该脚本用于读取 CSV 文件,并可以根据需要对数据进行处理和分析。
import csv def read_csv(file_path): """读取 CSV 文件。 Args: file_path: CSV 文件路径。 """ with open(file_path, 'r', encoding='utf-8') as f: reader = csv.reader(f) # 跳过标题行 next(reader) for row in reader: print(row) # 示例用法:读取名为 "data.csv" 的 CSV 文件 read_csv("data.csv")
5. 写入 CSV 文件
介绍: 该脚本用于将数据写入 CSV 文件,可以用于数据存储和导出。
import csv def write_csv(file_path, data): """将数据写入 CSV 文件。 Args: file_path: CSV 文件路径。 data: 要写入的数据,格式为列表的列表。 """ with open(file_path, 'w', encoding='utf-8', newline='') as f: writer = csv.writer(f) writer.writerows(data) # 示例用法:将数据写入名为 "data.csv" 的 CSV 文件 data = [ ["Name", "Age", "City"], ["Alice", 25, "New York"], ["Bob", 30, "London"], ] write_csv("data.csv", data)
6. 爬取网页数据
介绍: 该脚本用于爬取网页数据,例如新闻标题、商品价格等,并可以将数据保存到本地或数据库。
import requests from bs4 import BeautifulSoup def scrape_website(url): """爬取网页数据。 Args: url: 要爬取数据的网页地址。 """ response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 提取数据,例如新闻标题 titles = [title.text.strip() for title in soup.find_all('h2', class_='news-title')] # 打印提取的数据 for title in titles: print(title) # 示例用法:爬取新浪新闻首页的新闻标题 scrape_website("https://news.sina.com.cn/")
7. 自动化测试
介绍: 该脚本用于自动化测试软件或网站的功能,例如登录测试、表单提交测试等。
from selenium import webdriver def test_login(url, username, password): """测试网站登录功能。 Args: url: 要测试的网站地址。 username: 登录用户名。 password: 登录密码。 """ driver = webdriver.Chrome() driver.get(url) # 找到用户名和密码输入框,并输入用户名和密码 username_input = driver.find_element_by_id("username") password_input = driver.find_element_by_id("password") username_input.send_keys(username) password_input.send_keys(password) # 找到登录按钮,并点击 login_button = driver.find_element_by_id("login-button") login_button.click() # 检查是否登录成功 if driver.current_url == "https://www.example.com/dashboard": print("登录成功!") else: print("登录失败!") driver.quit() # 示例用法:测试 example.com 网站的登录功能 test_login("https://www.example.com/login", "testuser", "testpassword")
8. 图像处理
介绍: 该脚本用于图像处理,例如裁剪、缩放、添加水印等。
from PIL import Image def resize_image(image_path, width, height): """缩放图片大小。 Args: image_path: 图片路径。 width: 新的宽度。 height: 新的高度。 """ img = Image.open(image_path) img = img.resize((width, height)) img.save("resized_" + image_path) # 示例用法:将图片 "image.jpg" 缩放为 200x200 像素 resize_image("image.jpg", 200, 200)
9. 数据可视化
介绍: 该脚本用于数据可视化,例如绘制图表、生成报表等,可以更直观地展示数据。
import matplotlib.pyplot as plt def plot_chart(x, y): """绘制折线图。 Args: x: x 轴数据。 y: y 轴数据。 """ plt.plot(x, y) plt.xlabel("X 轴") plt.ylabel("Y 轴") plt.title("折线图") plt.show() # 示例用法:绘制 x=[1,2,3], y=[4,5,6] 的折线图 plot_chart([1, 2, 3], [4, 5, 6])
10. 创建简单的 Web 应用
介绍: 该脚本使用 Flask 框架创建一个简单的 Web 应用,例如显示 "Hello, world!" 的页面。
from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello, world!" if __name__ == "__main__": app.run(debug=True)
注意: 以上代码示例仅供参考,实际应用中需要根据具体需求进行修改和完善。部署爬虫相关代码需要遵守 robots 协议, 并注意数据安全。
总结
到此这篇关于十个常见的Python脚本的文章就介绍到这了,更多相关Python脚本介绍及代码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Python使用wxPython和PyMuPDF提取PDF页面指定页数的内容
在本篇博客中,我们将探讨如何使用wxPython和PyMuPDF库创建一个简单的Bokeh应用程序,用于选择PDF文件并提取指定页面的内容,并将提取的内容显示在文本框中,需要的朋友可以参考下2023-08-08Python cookbook(数据结构与算法)让字典保持有序的方法
这篇文章主要介绍了Python让字典保持有序的方法,涉及Python基于collections模块中的OrderedDict类实现控制字典顺序的相关操作技巧,需要的朋友可以参考下2018-02-02
最新评论