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