0


​十个常见的 Python 脚本 (详细介绍 + 代码举例)

1. 批量重命名文件

介绍: 该脚本用于批量重命名指定目录下的文件,例如将所有 ".txt" 文件重命名为 ".md" 文件。

  1. import os
  2. def batch_rename(directory, old_ext, new_ext):
  3. """批量重命名文件扩展名。
  4. Args:
  5. directory: 要处理的目录路径。
  6. old_ext: 要替换的旧扩展名。
  7. new_ext: 要替换的新扩展名。
  8. """
  9. for filename in os.listdir(directory):
  10. if filename.endswith(old_ext):
  11. base_name = os.path.splitext(filename)[0]
  12. new_filename = base_name + new_ext
  13. old_path = os.path.join(directory, filename)
  14. new_path = os.path.join(directory, new_filename)
  15. os.rename(old_path, new_path)
  16. # 示例用法:将当前目录下所有 ".txt" 文件重命名为 ".md" 文件
  17. batch_rename(".", ".txt", ".md")

2. 下载网页图片

介绍: 该脚本用于下载指定网页上的所有图片,并保存到本地目录。

  1. import requests
  2. from bs4 import BeautifulSoup
  3. import os
  4. def download_images(url, save_dir):
  5. """下载网页上的所有图片。
  6. Args:
  7. url: 要下载图片的网页地址。
  8. save_dir: 保存图片的目录路径。
  9. """
  10. response = requests.get(url)
  11. soup = BeautifulSoup(response.text, 'html.parser')
  12. # 创建保存目录
  13. if not os.path.exists(save_dir):
  14. os.makedirs(save_dir)
  15. # 找到所有图片标签
  16. img_tags = soup.find_all('img')
  17. # 下载每张图片
  18. for i, img_tag in enumerate(img_tags):
  19. img_url = img_tag.get('src')
  20. if img_url:
  21. img_data = requests.get(img_url).content
  22. img_name = f"image_{i+1}.jpg"
  23. img_path = os.path.join(save_dir, img_name)
  24. with open(img_path, 'wb') as f:
  25. f.write(img_data)
  26. print(f"Downloaded: {img_name}")
  27. # 示例用法:下载百度首页的图片
  28. download_images("https://www.baidu.com", "baidu_images")

3. 发送邮件通知

介绍: 该脚本用于发送邮件通知,例如在脚本执行完毕后发送邮件通知管理员。

  1. import smtplib
  2. from email.mime.text import MIMEText
  3. def send_email(sender_email, sender_password, receiver_email, subject, message):
  4. """发送邮件通知。
  5. Args:
  6. sender_email: 发送方邮箱地址。
  7. sender_password: 发送方邮箱密码。
  8. receiver_email: 接收方邮箱地址。
  9. subject: 邮件主题。
  10. message: 邮件内容。
  11. """
  12. msg = MIMEText(message, 'plain', 'utf-8')
  13. msg['Subject'] = subject
  14. msg['From'] = sender_email
  15. msg['To'] = receiver_email
  16. try:
  17. with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
  18. smtp.login(sender_email, sender_password)
  19. smtp.send_message(msg)
  20. print("邮件发送成功!")
  21. except Exception as e:
  22. print(f"邮件发送失败:{e}")
  23. # 示例用法:发送邮件通知
  24. send_email("your_email@gmail.com", "your_password", "receiver@example.com", "脚本执行完毕", "脚本已成功执行!")

4. 读取 CSV 文件

介绍: 该脚本用于读取 CSV 文件,并可以根据需要对数据进行处理和分析。

  1. import csv
  2. def read_csv(file_path):
  3. """读取 CSV 文件。
  4. Args:
  5. file_path: CSV 文件路径。
  6. """
  7. with open(file_path, 'r', encoding='utf-8') as f:
  8. reader = csv.reader(f)
  9. # 跳过标题行
  10. next(reader)
  11. for row in reader:
  12. print(row)
  13. # 示例用法:读取名为 "data.csv" 的 CSV 文件
  14. read_csv("data.csv")

5. 写入 CSV 文件

介绍: 该脚本用于将数据写入 CSV 文件,可以用于数据存储和导出。

  1. import csv
  2. def write_csv(file_path, data):
  3. """将数据写入 CSV 文件。
  4. Args:
  5. file_path: CSV 文件路径。
  6. data: 要写入的数据,格式为列表的列表。
  7. """
  8. with open(file_path, 'w', encoding='utf-8', newline='') as f:
  9. writer = csv.writer(f)
  10. writer.writerows(data)
  11. # 示例用法:将数据写入名为 "data.csv" 的 CSV 文件
  12. data = [
  13. ["Name", "Age", "City"],
  14. ["Alice", 25, "New York"],
  15. ["Bob", 30, "London"],
  16. ]
  17. write_csv("data.csv", data)

6. 爬取网页数据

介绍: 该脚本用于爬取网页数据,例如新闻标题、商品价格等,并可以将数据保存到本地或数据库。

  1. import requests
  2. from bs4 import BeautifulSoup
  3. def scrape_website(url):
  4. """爬取网页数据。
  5. Args:
  6. url: 要爬取数据的网页地址。
  7. """
  8. response = requests.get(url)
  9. soup = BeautifulSoup(response.text, 'html.parser')
  10. # 提取数据,例如新闻标题
  11. titles = [title.text.strip() for title in soup.find_all('h2', class_='news-title')]
  12. # 打印提取的数据
  13. for title in titles:
  14. print(title)
  15. # 示例用法:爬取新浪新闻首页的新闻标题
  16. scrape_website("https://news.sina.com.cn/")

7. 自动化测试

介绍: 该脚本用于自动化测试软件或网站的功能,例如登录测试、表单提交测试等。

  1. from selenium import webdriver
  2. def test_login(url, username, password):
  3. """测试网站登录功能。
  4. Args:
  5. url: 要测试的网站地址。
  6. username: 登录用户名。
  7. password: 登录密码。
  8. """
  9. driver = webdriver.Chrome()
  10. driver.get(url)
  11. # 找到用户名和密码输入框,并输入用户名和密码
  12. username_input = driver.find_element_by_id("username")
  13. password_input = driver.find_element_by_id("password")
  14. username_input.send_keys(username)
  15. password_input.send_keys(password)
  16. # 找到登录按钮,并点击
  17. login_button = driver.find_element_by_id("login-button")
  18. login_button.click()
  19. # 检查是否登录成功
  20. if driver.current_url == "https://www.example.com/dashboard":
  21. print("登录成功!")
  22. else:
  23. print("登录失败!")
  24. driver.quit()
  25. # 示例用法:测试 example.com 网站的登录功能
  26. test_login("https://www.example.com/login", "testuser", "testpassword")

8. 图像处理

介绍: 该脚本用于图像处理,例如裁剪、缩放、添加水印等。

  1. from PIL import Image
  2. def resize_image(image_path, width, height):
  3. """缩放图片大小。
  4. Args:
  5. image_path: 图片路径。
  6. width: 新的宽度。
  7. height: 新的高度。
  8. """
  9. img = Image.open(image_path)
  10. img = img.resize((width, height))
  11. img.save("resized_" + image_path)
  12. # 示例用法:将图片 "image.jpg" 缩放为 200x200 像素
  13. resize_image("image.jpg", 200, 200)

9. 数据可视化

介绍: 该脚本用于数据可视化,例如绘制图表、生成报表等,可以更直观地展示数据。

  1. import matplotlib.pyplot as plt
  2. def plot_chart(x, y):
  3. """绘制折线图。
  4. Args:
  5. x: x 轴数据。
  6. y: y 轴数据。
  7. """
  8. plt.plot(x, y)
  9. plt.xlabel("X 轴")
  10. plt.ylabel("Y 轴")
  11. plt.title("折线图")
  12. plt.show()
  13. # 示例用法:绘制 x=[1,2,3], y=[4,5,6] 的折线图
  14. plot_chart([1, 2, 3], [4, 5, 6])

10. 创建简单的 Web 应用

介绍: 该脚本使用 Flask 框架创建一个简单的 Web 应用,例如显示 "Hello, world!" 的页面。

  1. from flask import Flask
  2. app = Flask(__name__)
  3. @app.route("/")
  4. def hello():
  5. return "Hello, world!"
  6. if __name__ == "__main__":
  7. app.run(debug=True)

注意: 以上代码示例仅供参考,实际应用中需要根据具体需求进行修改和完善。部署爬虫相关代码需要遵守 robots 协议, 并注意数据安全。

如果对你有帮助,记得点赞分享支持一下~

标签: python spring 前端

本文转载自: https://blog.csdn.net/qq_36807888/article/details/140862595
版权归原作者 途途途途 所有, 如有侵权,请联系我们删除。

“​十个常见的 Python 脚本 (详细介绍 + 代码举例)”的评论:

还没有评论