如何使用 Python 创建目录和文件

PythonBeginner
立即练习

简介

在本教程中,我们将使用 Python 编程语言探索文件和目录管理的基础知识。你将学习如何创建目录,以及如何创建和操作文件,从而能够高效地自动化文件系统任务。

理解文件和目录基础

在 Python 编程领域,处理文件和目录是一项基本技能。要有效地创建、管理和操作文件及目录,理解基本概念和术语至关重要。

文件系统基础

文件系统是计算机组织和存储文件及目录(也称为文件夹)的方式。每个文件和目录都有一个唯一的路径,用于标识其在文件系统层次结构中的位置。

在典型的文件系统中,你会找到以下关键元素:

  • 文件:文件是存储在存储设备(如硬盘驱动器或固态硬盘)上的数据集合。文件可以包含文本、图像、音频、视频或任何其他类型的数字内容。
  • 目录:目录,也称为文件夹,是一个容器,可以包含文件和其他目录。目录有助于以逻辑和层次结构的方式组织你的文件。
  • 路径:路径是文件或目录在文件系统中的位置。它由目录名和文件名组成,在 Linux/macOS 上用正斜杠(/)分隔,在 Windows 上用反斜杠(\)分隔。

理解绝对路径和相对路径

在处理文件和目录时,你会遇到两种类型的路径:

  1. 绝对路径:绝对路径是对文件或目录位置的完整且明确的引用,从文件系统的根目录开始。例如,在 Linux 系统上,用户主目录的绝对路径可能是 /home/username
  2. 相对路径:相对路径是相对于当前工作目录的文件或目录引用。相对路径通常比绝对路径更短且更便于使用。例如,如果你在 /home/username/documents 目录中,同一目录下名为 example.txt 的文件的相对路径将是 example.txt

在文件系统中导航

要在 Python 中导航文件系统,你可以使用 osos.path 模块,它们提供了一组用于与操作系统和文件系统进行交互的函数和方法。

import os

## 获取当前工作目录
current_dir = os.getcwd()
print(f"当前目录: {current_dir}")

## 更改当前工作目录
os.chdir("/path/to/new/directory")

通过理解这些基本的文件和目录概念,你将能够很好地使用 Python 创建、管理和操作文件及目录。

使用 Python 创建目录

在 Python 编程中,创建目录是一项常见任务。os 模块提供了多个用于创建、删除和管理目录的函数。

创建单个目录

要创建单个目录,可以使用 os.mkdir() 函数。此函数将你要创建的目录路径作为参数。

import os

## 创建一个名为 "example_dir" 的新目录
os.mkdir("example_dir")

创建多个目录

如果你需要创建具有多个层级的目录结构,可以使用 os.makedirs() 函数。此函数可以在路径中创建所有必要的中间目录。

import os

## 创建一个具有多个层级的目录结构
os.makedirs("parent_dir/child_dir/grandchild_dir")

处理已存在的目录

如果你尝试创建一个已存在的目录,os.mkdir() 函数将引发 OSError。要处理此情况,可以使用 try-except 块:

import os

try:
    os.mkdir("example_dir")
    print("目录创建成功。")
except OSError as e:
    if e.errno == errno.EEXIST:
        print("目录已存在。")
    else:
        raise

删除目录

要删除一个目录,可以使用 os.rmdir() 函数。此函数仅删除空目录。

import os

## 删除一个空目录
os.rmdir("example_dir")

要删除非空目录,可以使用 shutil 模块中的 shutil.rmtree() 函数。

import os
import shutil

## 删除一个目录及其内容
shutil.rmtree("parent_dir")

通过掌握这些目录创建和管理技术,你将能够有效地组织你的 Python 项目并管理文件系统结构。

创建和操作文件

除了创建和管理目录外,Python 还提供了大量用于处理文件的函数和方法。让我们来探索创建、写入、读取和操作文件的各种方法。

创建文件

要在 Python 中创建新文件,可以使用内置的 open() 函数。此函数将文件路径和模式(例如,“w”表示写入,“r”表示读取,“a”表示追加)作为参数。

## 创建一个名为 "example.txt" 的新文件
file = open("example.txt", "w")
file.close()

或者,你可以使用 pathlib 模块,它提供了一种更面向对象的文件和目录操作方法。

from pathlib import Path

## 使用 pathlib 创建新文件
file_path = Path("example.txt")
file_path.touch()

写入文件

创建文件后,可以使用 write() 方法向其中写入数据。

## 向文件写入数据
file = open("example.txt", "w")
file.write("This is some example text.")
file.close()

读取文件

要从文件中读取数据,可以使用 read() 方法。

## 从文件读取数据
file = open("example.txt", "r")
content = file.read()
print(content)
file.close()

追加到文件

如果你想向现有文件添加新数据,可以使用 “a”(追加)模式。

## 向文件追加数据
file = open("example.txt", "a")
file.write("\nAdding more text to the file.")
file.close()

文件上下文管理器

为确保文件在使用后正确关闭,建议使用 with 语句,它充当上下文管理器。

## 使用 with 语句管理文件操作
with open("example.txt", "w") as file:
    file.write("This text will be written to the file.")

通过理解这些文件创建和操作技术,你将能够在 Python 项目中有效地处理文件。

总结

在本教程结束时,你将扎实掌握如何利用 Python 的内置函数和模块来创建目录和文件,从而获得简化文件系统管理任务及提升 Python 编程技能的工具。