Python3 OS 文件/目录方法详解
                           
天天向上
发布: 2025-03-14 23:04:03

原创
493 人浏览过

Python 的 os 模块提供了一组与操作系统交互的功能,包括对文件和目录的操作。通过这些方法,您可以创建、删除、重命名文件和目录,获取文件属性等。

下面是一些常用的 os 模块中的文件和目录操作方法:


1. os.getcwd() – 获取当前工作目录

该方法返回当前工作目录的路径。

语法:

current_directory = os.getcwd()

示例:

import os
print(os.getcwd())  # 输出当前工作目录

2. os.chdir(path) – 改变当前工作目录

chdir() 方法用于改变当前工作目录。path 是要设置为当前工作目录的路径。

语法:

os.chdir(path)

示例:

import os
os.chdir("/path/to/directory")  # 改变当前工作目录
print(os.getcwd())  # 打印新的当前工作目录

3. os.listdir(path) – 列出指定目录的内容

listdir() 方法用于列出指定目录中的所有文件和子目录的名称,返回一个列表。如果目录为空,则返回空列表。

语法:

contents = os.listdir(path)

示例:

import os
contents = os.listdir(".")  # 列出当前目录的所有文件和目录
print(contents)

4. os.mkdir(path) – 创建单个目录

mkdir() 方法用于创建一个新目录。如果目录已存在,会引发 FileExistsError

语法:

os.mkdir(path)

示例:

import os
os.mkdir("new_folder")  # 在当前目录创建新目录

5. os.makedirs(path) – 递归创建目录

makedirs() 方法用于递归创建目录。如果父目录不存在,makedirs() 会自动创建它们。

语法:

os.makedirs(path)

示例:

import os
os.makedirs("parent/child/grandchild")  # 递归创建父目录和子目录

6. os.remove(path) – 删除文件

remove() 方法用于删除文件。如果指定的文件不存在,会引发 FileNotFoundError

语法:

os.remove(path)

示例:

import os
os.remove("example.txt")  # 删除文件

7. os.rmdir(path) – 删除空目录

rmdir() 方法用于删除空目录。如果目录不为空,rmdir() 会引发 OSError

语法:

os.rmdir(path)

示例:

import os
os.rmdir("empty_directory")  # 删除空目录

8. os.removedirs(path) – 递归删除空目录

removedirs() 方法递归删除空目录。如果目录中有任何文件或子目录,则会引发 OSError

语法:

os.removedirs(path)

示例:

import os
os.removedirs("parent/child/grandchild")  # 递归删除空目录

9. os.rename(src, dst) – 重命名文件或目录

rename() 方法用于重命名文件或目录。如果目标文件或目录已经存在,会引发 FileExistsError

语法:

os.rename(src, dst)

示例:

import os
os.rename("old_name.txt", "new_name.txt")  # 重命名文件

10. os.stat(path) – 获取文件/目录的状态信息

stat() 方法用于获取文件或目录的状态信息,返回一个 os.stat_result 对象,包含文件大小、修改时间、权限等信息。

语法:

status = os.stat(path)

示例:

import os
status = os.stat("example.txt")
print(status)

11. os.path.exists(path) – 检查文件/目录是否存在

exists() 方法用于检查指定路径的文件或目录是否存在。如果存在,返回 True,否则返回 False

语法:

exists = os.path.exists(path)

示例:

import os
print(os.path.exists("example.txt"))  # 检查文件是否存在

12. os.path.isdir(path) – 检查路径是否是目录

isdir() 方法用于检查给定路径是否是一个目录。如果路径是目录,则返回 True,否则返回 False

语法:

is_directory = os.path.isdir(path)

示例:

import os
print(os.path.isdir("example_dir"))  # 检查路径是否是目录

13. os.path.isfile(path) – 检查路径是否是文件

isfile() 方法用于检查给定路径是否是一个文件。如果路径是文件,则返回 True,否则返回 False

语法:

is_file = os.path.isfile(path)

示例:

import os
print(os.path.isfile("example.txt"))  # 检查路径是否是文件

14. os.path.join(path1, path2, ...) – 拼接路径

join() 方法用于拼接一个或多个路径。如果路径中有目录分隔符,join() 会自动处理。

语法:

full_path = os.path.join(path1, path2, ...)

示例:

import os
path = os.path.join("parent", "child", "file.txt")
print(path)  # 输出:'parent/child/file.txt'

15. os.path.split(path) – 分割路径

split() 方法将路径分割为目录和文件名两部分,返回一个元组。

语法:

dir_name, file_name = os.path.split(path)

示例:

import os
dir_name, file_name = os.path.split("parent/child/file.txt")
print(dir_name)  # 输出:'parent/child'
print(file_name)  # 输出:'file.txt'

16. os.path.getsize(path) – 获取文件大小

getsize() 方法返回文件的大小,以字节为单位。如果路径是目录或不存在的文件,抛出异常。

语法:

size = os.path.getsize(path)

示例:

import os
size = os.path.getsize("example.txt")
print(size)  # 输出文件大小(字节)

17. os.path.abspath(path) – 获取绝对路径

abspath() 方法返回给定路径的绝对路径。

语法:

absolute_path = os.path.abspath(path)

示例:

import os
print(os.path.abspath("example.txt"))  # 获取文件的绝对路径

总结

Python 的 os 模块提供了多种方法用于操作文件和目录,包括文件的创建、删除、重命名,路径的检查和处理等功能。通过这些方法,可以实现高效的文件管理操作,并与操作系统进行交互。更多详细内容请关注其他相关文章!

发表回复 0

Your email address will not be published. Required fields are marked *