当前位置:首页 > Python > 正文

掌握Python文件系统操作(从零开始学会用Python管理文件与目录)

在日常编程中,我们经常需要对计算机中的文件和目录进行操作,比如创建、删除、移动、读取或写入文件。Python 提供了强大而简洁的工具来处理这些任务。本文将带你从零开始,一步步学习 Python文件系统操作,即使你是编程小白,也能轻松上手!

掌握Python文件系统操作(从零开始学会用Python管理文件与目录) Python文件系统操作 Python os模块 Python路径处理 Python文件读写 第1张

一、常用模块介绍

Python 中处理文件系统主要依赖以下几个内置模块:

  • os:提供与操作系统交互的功能,如创建目录、获取当前路径等。
  • os.path:专门用于处理文件路径(如拼接、判断是否存在等)。
  • shutil:用于高级文件操作,如复制、移动、删除整个目录等。
  • pathlib(Python 3.4+):面向对象的路径操作方式,更现代、更直观。

二、基础路径操作(使用 os 和 os.path)

首先,我们来看看如何获取当前工作目录、判断路径是否存在、拼接路径等基本操作。

import os# 获取当前工作目录current_dir = os.getcwd()print("当前工作目录:", current_dir)# 拼接路径(跨平台安全)file_path = os.path.join(current_dir, "example.txt")print("文件完整路径:", file_path)# 判断路径是否存在if os.path.exists(file_path):    print("文件存在!")else:    print("文件不存在。")# 判断是文件还是目录if os.path.isfile(file_path):    print("这是一个文件。")elif os.path.isdir(file_path):    print("这是一个目录。")

以上代码展示了如何安全地处理路径,避免因不同操作系统(Windows 使用 \,Linux/macOS 使用 /)导致的问题。这也是 Python路径处理 的核心技巧之一。

三、创建与删除文件/目录

接下来,我们学习如何创建和删除文件或目录。

import os# 创建一个新目录os.mkdir("my_folder")print("目录已创建。")# 创建多级目录(如果父目录不存在也会自动创建)os.makedirs("parent/child/grandchild", exist_ok=True)# 创建一个空文件(使用 open + w 模式)with open("my_file.txt", "w") as f:    pass  # 创建空文件# 删除文件os.remove("my_file.txt")# 删除空目录os.rmdir("my_folder")# 注意:os.rmdir() 只能删除空目录!

如果要删除非空目录,可以使用 shutil.rmtree(),但请谨慎使用,因为它会递归删除整个目录树!

四、文件读写操作

文件读写是 Python文件读写 的核心内容。推荐使用 with open() 语句,它能自动关闭文件,避免资源泄露。

# 写入文件with open("hello.txt", "w", encoding="utf-8") as f:    f.write("你好,世界!\n")    f.write("这是第二行。")# 读取整个文件with open("hello.txt", "r", encoding="utf-8") as f:    content = f.read()    print(content)# 按行读取with open("hello.txt", "r", encoding="utf-8") as f:    for line in f:        print("行内容:", line.strip())

五、使用 pathlib(现代方式)

从 Python 3.4 开始,官方推荐使用 pathlib 模块,它让路径操作更直观:

from pathlib import Path# 创建 Path 对象p = Path("data/output.txt")# 自动创建父目录p.parent.mkdir(parents=True, exist_ok=True)# 写入文件p.write_text("使用 pathlib 写入内容", encoding="utf-8")# 读取文件content = p.read_text(encoding="utf-8")print(content)# 列出目录下所有 .txt 文件for txt_file in Path(".").glob("*.txt"):    print(txt_file)

六、小结

通过本教程,你已经掌握了 Python文件系统操作 的基础知识,包括路径处理、目录创建、文件读写等核心技能。无论你是处理日志、批量重命名文件,还是自动化备份,这些知识都至关重要。

记住关键点:

  • 使用 os.path.join()pathlib 来安全拼接路径。
  • with open() 安全读写文件。
  • 删除非空目录时使用 shutil.rmtree()(小心使用!)。
  • 优先考虑 pathlib,代码更清晰、更现代。

现在,你可以自信地用 Python 管理你的文件系统了!快去动手实践吧!