Python OS 文件/目录方法

大家好,有抱负的 Python 程序员们!今天,我们将深入探讨使用 Python 的 OS 模块进行文件和目录操作的激动人心的世界。作为您友好邻居的计算机教师,我会一步一步地引导您完成这次旅程,确保您沿途理解每一个概念。所以,拿上你最喜欢的饮料,放松一下,让我们开始这次冒险吧!

Python - OS File/Directory Methods

OS 模块简介

在我们深入研究文件和目录操作之前,先花点时间了解 OS 模块是什么。

Python 中的 OS 模块提供了一种与操作系统交互的方式。它就像是你 Python 代码和底层系统之间的魔法桥梁,允许你对文件和目录执行各种操作。

要使用 OS 模块,我们首先需要导入它:

import os

现在我们已经导入了我们可靠的 OS 模块,让我们来探索一些它用于处理文件和目录的最有用的方法。

文件操作

检查文件是否存在

你可能想做的第一件事是检查一个文件是否存在。以下是如何做到这一点:

import os

file_path = "C:/Users/YourName/Documents/my_file.txt"
if os.path.exists(file_path):
print("文件存在!")
else:
print("文件不存在。")

在这个例子中,我们使用 os.path.exists() 来检查指定路径的文件是否存在。如果存在,我们打印一条快乐的消息;如果不存在,我们通知用户。

创建新文件

现在,让我们创建一个新文件:

import os

file_path = "C:/Users/YourName/Documents/new_file.txt"
with open(file_path, 'w') as file:
file.write("Hello, World!")

print(f"新文件已创建在 {file_path}")

这里,我们使用 open() 函数和 'w' 模式(写入模式)来创建一个新文件。然后我们向文件写入 "Hello, World!" 并使用 with 语句自动关闭它。

重命名文件

有时,你可能想重命名一个文件。以下是如何做到这一点:

import os

old_name = "C:/Users/YourName/Documents/old_file.txt"
new_name = "C:/Users/YourName/Documents/new_file.txt"

os.rename(old_name, new_name)
print(f"文件已从 {old_name} 重命名为 {new_name}")

os.rename() 函数接受两个参数:文件的当前名称和你想给它的新名称。

删除文件

小心这个操作!删除文件是一个强大的操作,所以在运行此代码之前一定要三思:

import os

file_to_delete = "C:/Users/YourName/Documents/unwanted_file.txt"

if os.path.exists(file_to_delete):
os.remove(file_to_delete)
print(f"文件 {file_to_delete} 已被删除。")
else:
print("文件不存在。")

我们首先使用 os.path.exists() 检查文件是否存在,如果存在,我们使用 os.remove() 删除它。

目录操作

现在我们已经介绍了文件操作,让我们继续处理目录。

创建新目录

创建一个新目录很简单:

import os

new_dir = "C:/Users/YourName/Documents/NewFolder"

if not os.path.exists(new_dir):
os.mkdir(new_dir)
print(f"目录 {new_dir} 创建成功!")
else:
print("目录已存在。")

我们使用 os.mkdir() 来创建一个新目录。但是首先,我们检查它是否已经存在,以避免任何错误。

列出目录内容

想知道目录里有什么吗?以下是如何操作:

import os

dir_path = "C:/Users/YourName/Documents"

contents = os.listdir(dir_path)
print("目录内容:")
for item in contents:
print(item)

os.listdir() 返回指定目录中所有文件和子目录的列表。

改变当前工作目录

你可以像这样改变你的当前工作目录:

import os

new_working_dir = "C:/Users/YourName/Desktop"

os.chdir(new_working_dir)
print(f"当前工作目录已更改为:{os.getcwd()}")

os.chdir() 改变当前工作目录,而 os.getcwd() 返回当前工作目录。

删除目录

最后,让我们看看如何删除目录:

import os

dir_to_remove = "C:/Users/YourName/Documents/OldFolder"

if os.path.exists(dir_to_remove):
os.rmdir(dir_to_remove)
print(f"目录 {dir_to_remove} 已被删除。")
else:
print("目录不存在。")

os.rmdir() 删除指定的目录,但前提是它是空的。如果你需要删除一个目录及其所有内容,你需要使用 shutil 模块,这将在未来的课程中介绍。

OS 文件/目录方法总结

以下是我们介绍过的方法的便捷表格:

方法 描述
os.path.exists() 检查文件或目录是否存在
os.rename() 重命名文件或目录
os.remove() 删除文件
os.mkdir() 创建新目录
os.listdir() 列出目录内容
os.chdir() 改变当前工作目录
os.getcwd() 获取当前工作目录
os.rmdir() 删除空目录

结论

恭喜你!你已经迈出了使用 Python 的 OS 模块进行文件和目录操作的第一步。请记住,强大的功能伴随着巨大的责任——在修改文件和目录时一定要小心,尤其是在删除它们时。

在你继续 Python 的旅程中,你会发现这些文件和目录操作对于数据处理、文件整理甚至构建你自己的文件管理系统非常有用。

请继续练习,保持好奇心,祝编程愉快!

Credits: Image by storyset