玖叶教程网

前端编程开发入门

十个常见 Python 脚本是什么

Python 作为一种功能强大的编程语言,在各种领域都有着广泛的应用。以下将详细介绍十个常见的 Python 脚本及其代码示例。

如果你没有服务器,没有技术,想要配置这个可以看这个(218.0.48.3:8803),帮你提供最优解决方案。


一、批量重命名文件

  1. 功能介绍:该脚本用于批量重命名指定目录下的文件。可以根据需求将文件的扩展名进行统一替换,例如将所有 ".txt" 文件重命名为 ".md" 文件,方便对文件进行分类和管理。
  2. 代码示例及解释
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")
  • 在这个函数中,首先遍历指定目录下的所有文件名。如果文件名以指定的旧扩展名结尾,就提取文件名的基础部分(不包含扩展名),然后加上新的扩展名,最后使用 os.rename 函数将旧文件路径指向的文件重命名为新文件名对应的文件。

二、下载网页图片

  1. 功能介绍:此脚本可以从指定网页上下载所有的图片,并将它们保存到本地目录。这在需要收集网页上的图片资源或者进行网页图片备份时非常有用。
  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}")
  • 首先,使用 requests 库获取网页的 HTML 内容,然后使用 BeautifulSoup 解析 HTML,找到所有的 <img> 标签。对于每个找到的图片链接,发送请求获取图片数据,并将其保存到本地指定目录下的文件中,文件名按照顺序进行编号。

三、发送邮件通知

  1. 功能介绍:当脚本执行完毕或者在特定事件发生时,可以使用这个脚本来发送邮件通知管理员或者相关人员。这样可以及时了解脚本的运行状态或者系统的一些重要信息。
  2. 代码示例及解释
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}")
  • 首先创建一个包含邮件内容的 MIMEText 对象,并设置邮件的主题、发送方和接收方等信息。然后使用 smtplib 库连接到邮件服务器(这里以 Gmail 为例),登录发送方邮箱账号,最后发送邮件。如果发送过程中出现错误,会捕获异常并打印错误信息。

四、读取 CSV 文件

  1. 功能介绍:用于读取 CSV(Comma-Separated Values)文件中的数据。CSV 文件是一种常用的结构化数据存储格式,可以存储表格数据等。通过读取 CSV 文件,可以方便地对其中的数据进行处理、分析或者导入到其他系统中。
  2. 代码示例及解释
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)
  • 使用 open 函数打开 CSV 文件,并使用 csv.reader 创建一个 CSV 读取器对象。通过迭代读取器对象,可以逐行读取 CSV 文件中的数据。这里示例中跳过了标题行,然后打印每一行数据。

五、写入 CSV 文件

  1. 功能介绍:将数据写入到 CSV 文件中,用于数据的存储和导出。可以将程序中处理的数据保存为 CSV 格式,以便后续使用其他工具进行分析或者与其他系统进行数据交换。
  2. 代码示例及解释
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)
  • 同样使用 open 函数打开 CSV 文件,但这里是以写入模式打开。然后使用 csv.writer 创建一个 CSV 写入器对象,通过 writerows 方法将数据(一个包含多个子列表的列表,每个子列表代表一行数据)一次性写入到 CSV 文件中。

六、爬取网页数据

  1. 功能介绍:从网页上抓取所需的数据,例如新闻标题、商品价格等信息。通过爬取网页数据,可以获取大量的信息,并进行进一步的分析和处理,例如数据挖掘、舆情监测等。
  2. 代码示例及解释
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)
  • 首先使用 requests 库获取网页的 HTML 内容,然后使用 BeautifulSoup 对 HTML 进行解析。根据需要,可以使用 find_all 等方法找到特定的 HTML 标签和属性,从中提取所需的数据。这里示例中提取了所有 class 为 news-title 的 <h2> 标签中的文本内容,并打印出来。

七、自动化测试

  1. 功能介绍:用于自动化测试软件或网站的功能。可以模拟用户的操作,例如登录测试、表单提交测试等,以验证软件或网站的功能是否正常。通过自动化测试,可以提高测试效率,减少人工测试的工作量和错误率。
  2. 代码示例及解释
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()
  • 使用 selenium 库中的 webdriver 来模拟浏览器操作。首先启动浏览器并访问指定的网站地址,然后通过 find_element_by_id 等方法找到用户名、密码输入框和登录按钮的元素,使用 send_keys 方法输入用户名和密码,点击登录按钮。最后通过检查当前页面的 URL 是否符合预期来判断登录是否成功。

八、图像处理

  1. 功能介绍:对图像进行各种处理操作,例如裁剪、缩放、添加水印等。通过图像处理脚本,可以方便地对大量的图像进行批量处理,提高工作效率。
  2. 代码示例及解释
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)
  • 使用 PIL(Python Imaging Library)库中的 Image 模块来处理图像。首先使用 Image.open 打开指定路径的图像文件,然后使用 resize 方法按照指定的宽度和高度进行缩放,最后使用 save 方法保存缩放后的图像,文件名添加了 "resized_" 前缀以便区分原始图像。

九、数据可视化

  1. 功能介绍:将数据以图表的形式展示出来,例如绘制折线图、柱状图、饼图等。数据可视化可以更直观地展示数据的分布和趋势,帮助用户更好地理解数据。
  2. 代码示例及解释
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()
  • 使用 matplotlib 库进行数据可视化。通过 plot 方法绘制折线图,设置 x 轴和 y 轴的标签以及图表的标题,最后使用 show 方法显示图表。

十、创建简单的 Web 应用

  1. 功能介绍:使用 Python 的 Web 框架(这里以 Flask 为例)创建一个简单的 Web 应用。可以实现动态网页、接收用户输入、与数据库交互等功能,用于构建小型的网站或者 Web 服务。
  2. 代码示例及解释
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
    return "Hello, world!"
if __name__ == "__main__":
    app.run(debug=True)
  • 首先导入 Flask 类,创建一个 Flask 应用实例。然后使用 @app.route 装饰器定义一个路由,当用户访问根路径("/")时,调用 hello 函数返回 "Hello, world!" 字符串。最后在 if __name__ == "__main__": 条件语句下运行应用,并设置 debug=True 以便在开发过程中可以查看详细的错误信息和自动重新加载应用。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言