Os模块
os模块
简介
Python 的内置库 os(Operating System Interface
提供了与操作系统交互的函数,允许用户与操作系统进行各种操作,如文件和目录操作、环境变量访问、进程管理等。
使用 os
库,您可以编写跨平台的代码,因为它提供了对操作系统底层功能的抽象,而不用担心特定操作系统的细节。
路径操作
-
os.getcwd()
:获取当前目录的路径import os directory = os.getcwd() print("当前目录:", directory)
-
os.chdir()
:用于改变当前的工作目录。工作目录是指当前正在执行的脚本所在的目录,通过使用
os.chdir()
方法,可以在脚本执行过程中切换到不同的目录。import os # 当前工作目录 print("当前工作目录:", os.getcwd()) # 切换到指定目录 os.chdir("/path/to/directory") # 切换后的工作目录 print("切换后的工作目录:", os.getcwd())
path 方法 | 说明 |
---|---|
os.path.abspath(path) |
返回绝对路径 |
os.path.basename(path) |
返回文件名 |
os.path.dirname(path) |
返回文件路径 |
os.path.split(path) |
分割路径 |
os.path.join(path) |
拼接路径 |
os.path.exists(path) |
判断路径是否存在 |
os.path.isdir(path) |
判断是否是目录 |
os.path.isfile(path) |
判断是否是文件 |
os.path.getsize(path) |
获取文件大小 |
-
os.path.abspath(path)
:获取绝对路径。path
是要获取绝对路径的路径。import os # 获取绝对路径 absolute_path = os.path.abspath('relative/path/to/file.txt') print("Absolute Path:", absolute_path)
-
os.path.basename(path)
:返回指定路径的基本名称(不包含父目录路径)import os # 获取基本名称 base_name = os.path.basename('/path/to/file.txt') print("Base Name:", base_name)
-
os.path.dirname(path)
:返回指定路径的父目录路径。import os # 获取父目录路径 parent_directory = os.path.dirname('/path/to/file.txt') print("父目录为:", parent_directory)
-
os.path.split(path)
:用于将一个路径拆分为目录部分和文件名部分。import os path = '/home/user/file.txt' result = os.path.split(path) print(result)
-
os.path.join(path)
:用于连接多个路径部分。它将多个路径片段组合在一起,形成一个新的路径字符串。import os path1 = '\home\user' path2 = 'file.txt' result = os.path.join(path1, path2) print(result)
-
os.path.exists(path)
判断路径是否存在(可以是文件或目录)import os # 判断路径是否存在 path_to_check = '/path/to/file.txt' if os.path.exists(path_to_check): print("路径存在") else: print("路径不存在")
-
os.path.isdir(path)
判断是否是目录import os # 判断路径是否是目录 directory_path = '/path/to/directory' if os.path.isdir(directory_path): print("它是一个目录") else: print("它不是一个目录或路径不存在")
-
os.path.isfile(path)
判断是否是文件import os # 判断路径是否是文件 file_path = '/path/to/file.txt' if os.path.isfile(file_path): print("它是一个文件") else: print("它不是文件或路径不存在.")
-
os.path.getsize(path)
获取文件大小import os print(os.path.getsize("main.py"))
目录和文件操作
-
os.listdir()
:列出当前目录内容import os # 获取目录内容 directory_path = '/path/to/directory' content = os.listdir(directory_path) print("Directory Content:", content)
-
os.mkdir()
:创建一个新目录import os # 创建新目录 new_directory = '/path/to/new_directory' os.mkdir(new_directory)
-
os.makedirs()
:递归创建多级目录# 创建多级目录 nested_directory = '/path/to/nested/directory' os.makedirs(nested_directory)
-
os.rmdir()
:删除空目录import os # 删除目录 directory_to_delete = '/path/to/directory_to_delete' os.rmdir(directory_to_delete)
-
os.rename()
:重命名目录import os # 重命名目录 old_directory_name = '/path/to/old_directory' new_directory_name = '/path/to/new_directory' os.rename(old_directory_name, new_directory_name)
-
os.remove()
:删除文件(只能删除文件,不能删除目录)import os # 删除指定的文件 file_to_delete = '/path/to/file.txt' os.remove(file_to_delete)
其它操作
-
os.name
:获取系统名称,在Windows上,os.name
值为nt
。在Linux、macOS,os.name
为posix
。import os # 获取当前平台名称 platform_name = os.name print("Platform Name:", platform_name)
-
os.chmod(path, mode)
:更改文件权限模式。path
是要更改权限的文件路径,mode
是权限模式,通常用八进制表示,如0o755
import os # 更改文件权限模式为-rwxr-xr-x file_path = '/path/to/file.txt' os.chmod(file_path, 0o755)
-
os.sep
:用于表示操作系统特定的路径分隔符。在Windows操作系统上,路径分隔符是反斜杠\
;而在POSIX系统(如Linux、macOS等)上,路径分隔符是正斜杠/
。import os # 获取路径分隔符 path_separator = os.sep print("Path Separator:", path_separator)