一文分享5个新手也能实现的Python实用脚本(附完整代码)

 更新时间:2026年03月01日 09:11:16   作者:躺平大鹅  
对于Python新手来说,简单的小脚本既能巩固基础语法,又能带来成就感,同时还能用到日常工作和学习中,本文小编就和大家分享5个实用的Python小脚本,覆盖文件处理,数据统计,日常工具等场景,希望对大家有所帮助

对于Python新手来说,学习语法的最终目的是“解决实际问题”,而简单的小脚本既能巩固基础语法,又能带来成就感,同时还能用到日常工作和学习中,一举三得。

今天分享5个实用的Python小脚本,覆盖文件处理、数据统计、日常工具等场景,每篇脚本都有完整代码和详细注释,新手复制就能运行,还能根据自己的需求修改优化,快速提升编程能力~

脚本一:文件批量重命名(批量修改文件名,高效便捷)

适用场景:批量修改文件夹中的文件名称(比如批量修改图片、文档、代码文件的名称),避免手动逐个修改,节省时间。

核心知识点:os模块(文件操作)、for循环,掌握os.listdir()、os.rename()的用法。

import os  # 导入os模块,用于操作文件和文件夹

# 1. 定义要批量重命名的文件夹路径(替换成你的文件夹路径,注意路径中的反斜杠用//或/)
folder_path = "D://test//images"

# 2. 获取文件夹中的所有文件(返回一个列表,包含所有文件名)
file_list = os.listdir(folder_path)

# 3. 循环遍历所有文件,逐个重命名
for index, file_name in enumerate(file_list):
    # 跳过文件夹(只重命名文件,不处理子文件夹)
    if os.path.isfile(os.path.join(folder_path, file_name)):
        # 分割文件名和后缀(比如"1.jpg"分割成["1", "jpg"])
        file_ext = os.path.splitext(file_name)[1]
        # 定义新的文件名(比如"image_01.jpg"、"image_02.jpg",index从0开始,+1让序号从1开始)
        new_file_name = f"image_{index+1:02d}{file_ext}"
        # 拼接旧文件路径和新文件路径
        old_path = os.path.join(folder_path, file_name)
        new_path = os.path.join(folder_path, new_file_name)
        # 执行重命名操作
        os.rename(old_path, new_path)
        print(f"已修改:{file_name} → {new_file_name}")

print("批量重命名完成!")
    

使用说明:替换folder_path为自己的文件夹路径,运行脚本,即可将文件夹中的文件批量命名为“image_01.后缀”“image_02.后缀”,序号自动递增。

脚本二:简单文本统计工具(统计字数、行数、空格数)

适用场景:统计文本文件(.txt、.md等)的字数、行数、空格数,比如统计论文字数、笔记字数,无需手动计数。

核心知识点:文件读写(open()函数)、字符串操作、for循环。

# 1. 定义要统计的文本文件路径(替换成你的文件路径)
file_path = "D://test//note.txt"

# 2. 初始化统计变量
line_count = 0  # 行数
char_count = 0  # 总字符数(包含空格、标点)
space_count = 0 # 空格数
word_count = 0  # 单词数(以空格分隔)

# 3. 打开文件,读取内容(encoding="utf-8"避免中文乱码)
with open(file_path, "r", encoding="utf-8") as f:
    # 逐行读取文件内容
    for line in f:
        line_count += 1  # 每读一行,行数+1
        space_count += line.count(" ")  # 统计当前行的空格数,累加到总空格数
        char_count += len(line.replace("\n", ""))  # 统计当前行的字符数(去掉换行符)
        word_count += len(line.split())  # 统计当前行的单词数(以空格分隔)

# 4. 输出统计结果
print("="*30)
print(f"文本文件统计结果:")
print(f"总行数:{line_count}")
print(f"总字符数(不含换行符):{char_count}")
print(f"总空格数:{space_count}")
print(f"总单词数(以空格分隔):{word_count}")
print("="*30)
    

使用说明:替换file_path为自己的文本文件路径,运行脚本,即可快速得到文本的各项统计数据,支持中文文本。

脚本三:随机密码生成器(生成安全、复杂的密码)

适用场景:生成随机密码(包含大小写字母、数字、特殊符号),用于注册账号、登录密码,比手动设置的密码更安全。

核心知识点:random模块(随机生成)、字符串拼接、for循环。

import random  # 导入random模块,用于生成随机数
import string  # 导入string模块,获取大小写字母、数字、特殊符号

# 1. 定义密码包含的字符集(可根据需求修改,比如去掉特殊符号)
# 大小写字母 + 数字 + 特殊符号(!@#$%^&*()_+-=)
chars = string.ascii_letters + string.digits + "!@#$%^&*()_+-="

# 2. 定义密码长度(可自定义,比如8位、12位、16位,越长越安全)
password_length = 12

# 3. 生成随机密码(从chars中随机选择password_length个字符,拼接成字符串)
password = "".join(random.choice(chars) for _ in range(password_length))

# 4. 输出生成的密码
print(f"生成的随机密码:{password}")
    

拓展优化:新手可以修改password_length,生成不同长度的密码;也可以修改chars,去掉不需要的字符(比如不需要特殊符号,就删除chars中的特殊符号部分)。

脚本四:批量提取文本中的邮箱地址

适用场景:从大量文本中,批量提取所有邮箱地址(比如从文档、日志、网页源码中提取邮箱),避免手动查找,高效便捷。

核心知识点:re模块(正则表达式,用于匹配邮箱格式)、文件读写。

import re  # 导入re模块,用于正则表达式匹配

# 1. 定义要提取邮箱的文本文件路径(替换成你的文件路径)
file_path = "D://test//data.txt"

# 2. 定义邮箱正则表达式(匹配绝大多数邮箱格式,如xxx@xxx.com、xxx@xxx.cn)
email_pattern = r"[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+"

# 3. 读取文本文件内容
with open(file_path, "r", encoding="utf-8") as f:
    text = f.read()  # 读取整个文件的内容

# 4. 匹配文本中的所有邮箱地址,返回一个列表
emails = re.findall(email_pattern, text)

# 5. 输出提取结果
print(f"共提取到 {len(emails)} 个邮箱地址:")
print("-"*50)
for email in emails:
    print(email)
    

使用说明:替换file_path为自己的文本文件路径,运行脚本,即可提取文本中所有符合格式的邮箱地址,适合批量处理大量文本。

脚本五:简易天气预报查询(输入城市,查询实时天气)

适用场景:输入城市名称,查询该城市的实时天气(温度、天气状况、风力等),无需打开浏览器,直接运行脚本即可查询。

核心知识点:requests模块(发送网络请求)、JSON数据解析,新手需要先安装requests模块(命令:pip install requests)。

import requests  # 导入requests模块,用于发送网络请求

def get_weather(city):
    # 免费天气接口(无需注册,直接使用,返回JSON格式数据)
    url = f"https://v0.yiketianqi.com/api?unescape=1&version=v61&appid=79334739&appsecret=5S8IYq6Q&city={city}"
    try:
        # 发送GET请求,获取天气数据
        response = requests.get(url)
        response.raise_for_status()  # 若请求失败,抛出异常
        weather_data = response.json()  # 解析JSON数据,转为字典
        
        # 提取需要的天气信息
        city_name = weather_data["city"]  # 城市名称
        temp = weather_data["tem"]        # 当前温度
        weather = weather_data["wea"]     # 天气状况(如晴、阴、雨)
        wind = weather_data["win"]        # 风力
        humidity = weather_data["humidity"]# 湿度
        
        # 输出天气信息
        print("="*30)
        print(f"【{city_name} 实时天气预报】")
        print(f"当前温度:{temp}℃")
        print(f"天气状况:{weather}")
        print(f"风力:{wind}")
        print(f"湿度:{humidity}%")
        print("="*30)
    except Exception as e:
        print(f"查询失败!原因:{str(e)}")

# 主程序
if __name__ == "__main__":
    # 输入要查询的城市名称
    city = input("请输入要查询天气的城市(如北京、上海):")
    # 调用函数,查询天气
    get_weather(city)
    

使用说明:

  • 先打开终端,输入命令 pip install requests,安装requests模块;
  • 运行脚本,输入城市名称(如“北京”“广州”),即可查询该城市的实时天气。

最后

以上5个小脚本,都是日常能用得上的实用工具,同时覆盖了Python的核心基础知识点,新手可以先复制运行,理解每一行代码的含义,再尝试修改优化,比如给文件重命名脚本添加自定义前缀、给密码生成器添加密码强度检测等。

到此这篇关于一文分享5个新手也能实现的Python实用脚本(附完整代码)的文章就介绍到这了,更多相关Python实用脚本内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python+random模块实现随机抽样

    Python+random模块实现随机抽样

    python的random库,提供了很多随机抽样方法。本文将通过几个示例为大家详细讲讲random模块实现随机抽样的方法,需要的可以参考一下
    2022-09-09
  • 详解Ubuntu环境下部署Django+uwsgi+nginx总结

    详解Ubuntu环境下部署Django+uwsgi+nginx总结

    这篇文章主要介绍了Ubuntu环境下部署Django+uwsgi+nginx总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 判断Threading.start新线程是否执行完毕的实例

    判断Threading.start新线程是否执行完毕的实例

    这篇文章主要介绍了判断Threading.start新线程是否执行完毕的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • django-xadmin根据当前登录用户动态设置表单字段默认值方式

    django-xadmin根据当前登录用户动态设置表单字段默认值方式

    这篇文章主要介绍了django-xadmin根据当前登录用户动态设置表单字段默认值方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • python新闻内容爬虫专用包newspaper使用实例图文教程

    python新闻内容爬虫专用包newspaper使用实例图文教程

    Newspaper是GitHub排名第三的新闻爬虫框架,操作简单无需处理复杂参数,支持35种语言及文本、图片、摘要提取,但存在框架不稳定、易被封锁的问题,适合快速获取新闻语料而非大规模工程应用
    2025-07-07
  • Python绘制散点图之可视化神器pyecharts

    Python绘制散点图之可视化神器pyecharts

    这篇文章主要介绍了Python绘制散点图之可视化神器pyecharts,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • python 如何通过KNN来填充缺失值

    python 如何通过KNN来填充缺失值

    这篇文章主要介绍了python 通过KNN来填充缺失值的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • python爬虫实战之爬取京东商城实例教程

    python爬虫实战之爬取京东商城实例教程

    这篇文章主要介绍了python爬取京东商城的相关资料,文中通过爬取一个实例页面进行了讲解,通过示例代码和图文介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起学习学习吧。
    2017-04-04
  • pytorch中使用LSTM详解

    pytorch中使用LSTM详解

    这篇文章主要介绍了pytorch中使用LSTM,可以在troch.nn模块中找到LSTM类,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • 如何在django中添加日志功能

    如何在django中添加日志功能

    这篇文章主要介绍了django中添加日志功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02

最新评论