Python实例题:使用Pvthon3编写系列实用脚本

目录

Python实例题

题目

[1. 文件重命名脚本](#1. 文件重命名脚本)

csv_data_statistics.py

file_rename.py

web_crawler.py

[2. CSV 文件数据统计脚本](#2. CSV 文件数据统计脚本)

[3. 简单的网页爬虫脚本](#3. 简单的网页爬虫脚本)

运行思路

文件重命名脚本

[CSV 文件数据统计脚本](#CSV 文件数据统计脚本)

简单的网页爬虫脚本

注意事项

Python实例题

题目

使用Pvthon3编写系列实用脚本

1. 文件重命名脚本

此脚本能够批量重命名指定目录下的文件,给文件名添加前缀。

csv_data_statistics.py

python 复制代码
import csv

def calculate_column_sum(csv_file, column_index):
    """
    计算 CSV 文件中指定列的总和
    :param csv_file: CSV 文件路径
    :param column_index: 列索引(从 0 开始)
    :return: 列数据的总和
    """
    total = 0
    try:
        with open(csv_file, 'r', encoding='utf-8') as file:
            reader = csv.reader(file)
            next(reader)  # 跳过标题行
            for row in reader:
                try:
                    value = float(row[column_index])
                    total += value
                except (IndexError, ValueError):
                    continue
    except FileNotFoundError:
        print(f"指定的 CSV 文件 {csv_file} 未找到。")
    return total


if __name__ == "__main__":
    csv_file = input("请输入 CSV 文件的路径: ")
    column_index = int(input("请输入要统计的列索引(从 0 开始): "))
    result = calculate_column_sum(csv_file, column_index)
    print(f"指定列的总和为: {result}")
    

file_rename.py

python 复制代码
import os

def rename_files(directory, prefix):
    """
    批量重命名指定目录下的文件
    :param directory: 目录路径
    :param prefix: 要添加的前缀
    """
    try:
        for filename in os.listdir(directory):
            if os.path.isfile(os.path.join(directory, filename)):
                new_filename = prefix + filename
                os.rename(os.path.join(directory, filename), os.path.join(directory, new_filename))
                print(f"已将 {filename} 重命名为 {new_filename}")
    except FileNotFoundError:
        print(f"指定的目录 {directory} 未找到。")
    except PermissionError:
        print(f"没有权限对目录 {directory} 进行操作。")


if __name__ == "__main__":
    directory = input("请输入要重命名文件所在的目录路径: ")
    prefix = input("请输入要添加的前缀: ")
    rename_files(directory, prefix)
    

web_crawler.py

python 复制代码
import requests
from bs4 import BeautifulSoup

def extract_links(url):
    """
    从指定网页中提取所有链接
    :param url: 网页的 URL
    :return: 链接列表
    """
    try:
        response = requests.get(url)
        response.raise_for_status()
        soup = BeautifulSoup(response.text, 'html.parser')
        links = []
        for link in soup.find_all('a'):
            href = link.get('href')
            if href:
                links.append(href)
        return links
    except requests.RequestException as e:
        print(f"请求网页时出现错误: {e}")
    return []


if __name__ == "__main__":
    url = input("请输入要提取链接的网页 URL: ")
    links = extract_links(url)
    for link in links:
        print(link)
    

2. CSV 文件数据统计脚本

该脚本用于读取 CSV 文件,并统计某一列数据的总和。

3. 简单的网页爬虫脚本

此脚本可以从网页中提取所有的链接。

运行思路

文件重命名脚本

  1. 把代码保存为 file_rename.py 文件。
  2. 在终端运行 python file_rename.py
  3. 按照提示输入要重命名文件所在的目录路径和要添加的前缀。

CSV 文件数据统计脚本

  1. 保存代码为 csv_data_statistics.py 文件。
  2. 在终端运行 python csv_data_statistics.py
  3. 输入 CSV 文件的路径和要统计的列索引。

简单的网页爬虫脚本

  1. 确保已经安装了 requestsbeautifulsoup4 库:pip install requests beautifulsoup4
  2. 保存代码为 web_crawler.py 文件。
  3. 在终端运行 python web_crawler.py
  4. 输入要提取链接的网页 URL。

注意事项

  • 文件路径:输入的文件路径和目录路径要确保正确,否则会出现文件未找到的错误。
  • 网络请求:网页爬虫脚本在运行时要注意目标网站的反爬机制,避免频繁请求导致 IP 被封禁。
  • 数据格式:CSV 文件数据统计脚本假设指定列的数据为可转换为浮点数的格式,若格式不符可能会影响统计结果。
相关推荐
vvoennvv20 小时前
【Python TensorFlow】 TCN-GRU时间序列卷积门控循环神经网络时序预测算法(附代码)
python·rnn·神经网络·机器学习·gru·tensorflow·tcn
白狐_79820 小时前
网络基础核心问题深度解析:从IP/MAC到IPv6与路由配置
网络·tcp/ip·macos
板鸭〈小号〉20 小时前
应用层协议 HTTP
网络·网络协议·http
x***133920 小时前
MySQL 篇 - Java 连接 MySQL 数据库并实现数据交互
java·数据库·mysql
xuanzdhc20 小时前
Gitgit
java·linux·运维·服务器·c++·git
自学互联网20 小时前
使用Python构建钢铁行业生产监控系统:从理论到实践
开发语言·python
无心水20 小时前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
一点★20 小时前
“equals”与“==”、“hashCode”的区别和使用场景
java·开发语言
拾忆,想起20 小时前
Dubbo服务超时与重试策略配置指南:构建 resilient 微服务架构
服务器·网络·微服务·云原生·架构·dubbo
N***H48620 小时前
SpringCloud实战十三:Gateway之 Spring Cloud Gateway 动态路由
java·spring cloud·gateway