从零写Python练手项目:实用脚本

愤怒的蜗牛

从零写Python练手项目:实用脚本指南

在学习Python的过程中,制作实用脚本是最好的练手方式之一。这些项目不仅能帮助你巩固编程知识,还能创造实际价值,让你的生活和工作更加高效。以下是一些适合初学者的Python练手项目,涵盖不同的应用场景,所有项目从简单到稍复杂,循序渐进。

 从零写Python练手项目:实用脚本



项目1:批量文件重命名工具

难度:简单
功能

  • 将指定文件夹中的文件批量重命名,比如将照片命名为Photo_1.jpgPhoto_2.jpg

  • 支持文件扩展名过滤,比如仅处理.jpg.txt文件。

用到的知识点

  • os模块(操作文件路径)

  • for循环和字符串操作

代码示例

python复制编辑import osdef rename_files(folder_path, prefix):
   files = os.listdir(folder_path)    for i, file_name in enumerate(files, start=1):
       old_path = os.path.join(folder_path, file_name)        if os.path.isfile(old_path):
           extension = os.path.splitext(file_name)[1]
           new_name = f"{prefix}_{i}{extension}"
           new_path = os.path.join(folder_path, new_name)
           os.rename(old_path, new_path)            print(f"Renamed: {file_name} -> {new_name}")

rename_files("your/folder/path", "Photo")

项目2:自动化文本查找与替换工具

难度:简单
功能

  • 查找文本文件中的特定单词,并替换为新的单词。

  • 支持批量处理多个文件。

用到的知识点

  • 文件操作(读写文件)

  • 字符串替换方法

代码示例

python复制编辑def replace_in_file(file_path, old_word, new_word):    with open(file_path, 'r', encoding='utf-8') as file:
       content = file.read()

   updated_content = content.replace(old_word, new_word)    with open(file_path, 'w', encoding='utf-8') as file:
       file.write(updated_content)    print(f"Replaced '{old_word}' with '{new_word}' in {file_path}")

replace_in_file("example.txt", "old_word", "new_word")

项目3:简单的网页数据爬取器

难度:中等
功能

  • 从网页抓取数据,比如标题、段落、图片链接等。

  • 支持存储抓取的数据到文件中。

用到的知识点

  • requests库(获取网页内容)

  • BeautifulSoup(解析HTML结构)

代码示例

python复制编辑import requestsfrom bs4 import BeautifulSoupdef scrape_webpage(url):
   response = requests.get(url)
   soup = BeautifulSoup(response.text, 'html.parser')    # 获取网页标题
   title = soup.title.string    print(f"Title: {title}")    # 获取所有段落内容
   paragraphs = [p.text for p in soup.find_all('p')]    for i, paragraph in enumerate(paragraphs, start=1):        print(f"Paragraph {i}: {paragraph}")

scrape_webpage("https://example.com")

项目4:简单待办事项管理器(命令行版)

难度:中等
功能

  • 添加、查看和删除待办事项。

  • 数据保存在本地文件中,支持重启程序后继续使用。

用到的知识点

  • 列表操作

  • 文件读写(存储数据)

  • 基础交互操作(输入输出)

代码示例

python复制编辑import jsondef load_tasks(file_path):    try:        with open(file_path, 'r') as file:            return json.load(file)    except FileNotFoundError:        return []def save_tasks(file_path, tasks):    with open(file_path, 'w') as file:
       json.dump(tasks, file)def main():
   file_path = "tasks.json"
   tasks = load_tasks(file_path)    while True:        print("\nTo-Do List:")        for i, task in enumerate(tasks, start=1):            print(f"{i}. {task}")        print("\nOptions: [1] Add Task [2] Remove Task [3] Exit")
       choice = input("Choose an option: ")        if choice == "1":
           task = input("Enter a new task: ")
           tasks.append(task)
           save_tasks(file_path, tasks)        elif choice == "2":
           task_no = int(input("Enter task number to remove: "))            if 0 < task_no <= len(tasks):
               tasks.pop(task_no - 1)
               save_tasks(file_path, tasks)        elif choice == "3":            break
       else:            print("Invalid choice. Try again.")

main()

项目5:图片批量缩放与格式转换工具

难度:稍复杂
功能

  • 批量调整图片大小,并支持格式转换(如从PNG转为JPEG)。

用到的知识点

  • Pillow库(Python图像处理库)

  • 文件操作

代码示例

python复制编辑from PIL import Imageimport osdef resize_images(folder_path, output_folder, width, height):    if not os.path.exists(output_folder):
       os.makedirs(output_folder)    for file_name in os.listdir(folder_path):
       file_path = os.path.join(folder_path, file_name)        if os.path.isfile(file_path):
           img = Image.open(file_path)
           img_resized = img.resize((width, height))
           output_path = os.path.join(output_folder, file_name)
           img_resized.save(output_path)            print(f"Resized and saved: {file_name}")

resize_images("input_images", "output_images", 200, 200)

总结

通过这些小项目,你不仅能锻炼Python编程能力,还能学到文件操作、数据处理和自动化工具开发的技能。完成后,你将收获满满的成就感,并为更复杂的项目打下基础!

此处为隐藏内容,请评论后查看隐藏内容,谢谢!

您需要 登录账户 后才能发表评论

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,15人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码