Python3 OS 文件-目录方法


Python3 OS 文件-目录方法

Python3 OS模块给程序员提供了许多函数,以操作文件和目录等操作系统函数。本文将介绍Python3 OS文件-目录方法的使用方法。

文件操作方法

文件操作是常见的程序操作之一。Python3 OS模块提供了许多与文件相关的操作方法如下表所示:

方法 描述
os.rename() 重命名文件或目录。
os.remove() 删除文件
os.stat() 获取文件的状态信息
os.path.abspath() 返回文件的绝对路径
os.path.isfile() 判断一个文件是否存在
os.path.isdir() 判断一个目录是否存在
os.path.splitext() 将一个文件的路径和扩展名分离开
os.getcwd() 获取当前工作目录的路径
os.chmod() 改变给定路径文件或目录的访问权限
os.makedirs() 创建多层目录
os.mkdir() 创建单层目录
os.listdir() 列举出指定路径下所有文件和子目录。可选参数可以过滤对象。
os.access() 判断文件是否可访问
os.open() 打开文件并返回一个文件描述符。如果文件不存在会报错。
os.close() 关闭文件
os.read() 读取文件指定长度的数据。
os.write() 将提供的字符串写入文件中

下面给出这些方法的使用举例。

文件重命名和删除

import os

src = "test.txt"
dst = "renamed_test.txt"

# 重命名文件
os.rename(src, dst)

# 删除文件
os.remove(dst)

获取文件状态、绝对路径和扩展名

import os

file_path = "test.txt"

# 获取文件状态信息
stat_info = os.stat(file_path)
print(stat_info)

# 获取文件绝对路径
abs_path = os.path.abspath(file_path)
print(abs_path)

# 获取文件扩展名
file_ext = os.path.splitext(file_path)[1]
print(file_ext)

创建和删除目录

import os

dir_path = "my_directory"

# 创建目录
os.mkdir(dir_path)

# 删除目录
os.rmdir(dir_path)

目录操作方法

Python3 OS模块也提供了许多与目录相关的操作方法,如下表所示:

方法 描述
os.chdir() 改变当前工作目录。
os.listdir() 列出指定路径下的所有目录和文件。
os.makedirs() 递归地创建多层目录
os.mkdir() 创建单层目录
os.rmdir() 删除单层空目录。如果该目录不为空则抛出异常。
shutil.rmtree() 递归地删除目录。
os.path.isdir() 判断一个路径是否为目录。
os.path.join() 将多个路径组合成一个完整路径。
os.path.basename() 获取路径的文件名部分。
os.path.dirname() 获取路径的目录部分。
os.path.exists() 判断路径是否存在。
os.path.split() 分离路径和文件名。
os.path.commonprefix() 获取多个路径的共同最大部分。
os.path.walk() 遍历一个目录树,并对每一个目录及其中的文件进行某种操作。不常用

下面给出这些方法的使用举例。

列出目录下所有文件和子目录

import os

dir_path = "./"
files = os.listdir(dir_path)

for file in files:
    print(file)

递归地创建和删除目录

import os

# 递归地创建多层目录
os.makedirs("dir/subdir")

# 删除目录树
import shutil
shutil.rmtree("dir")

路径相关方法

import os

path = os.path.join("dir1", "dir2", "file.txt")
print(path)
print(os.path.basename(path))
print(os.path.dirname(path))
print(os.path.exists(path))

总结

以上就是Python3 OS文件-目录方法的主要内容。掌握这些方法,可以使程序能够方便地管理文件和目录。在使用这些方法时,注意参数的传递和函数的返回值。另外,某些方法操作文件和目录时会产生永久性效果,慎重操作。