os
模块是 Python 中用于与操作系统交互的核心模块之一。它提供了许多函数来操作文件、目录、路径以及执行系统命令。
1. 文件和目录操作
1.1 os.getcwd()
-
作用:获取当前工作目录。
-
示例:
import os print(os.getcwd()) # 输出当前工作目录
1.2 os.chdir(path)
-
作用:改变当前工作目录。
-
示例:
import os os.chdir('/path/to/directory') # 切换到指定目录 print(os.getcwd()) # 输出新的工作目录
1.3 os.listdir(path)
-
作用:列出指定目录下的所有文件和子目录。
-
示例:
import os print(os.listdir('.')) # 列出当前目录下的所有文件和子目录
1.4 os.mkdir(path)
-
作用:创建目录。
-
示例:
import os os.mkdir('new_directory') # 创建新目录
1.5 os.makedirs(path)
-
作用:递归创建目录(包括父目录)。
-
示例:
import os os.makedirs('parent_dir/child_dir') # 递归创建目录
1.6 os.remove(path)
-
作用:删除文件。
-
示例:
import os os.remove('file.txt') # 删除文件
1.7 os.rmdir(path)
-
作用:删除空目录。
-
示例:
import os os.rmdir('empty_directory') # 删除空目录
1.8 os.removedirs(path)
-
作用:递归删除空目录。
-
示例:
import os os.removedirs('parent_dir/child_dir') # 递归删除空目录
1.9 os.rename(src, dst)
-
作用:重命名文件或目录。
-
示例:
import os os.rename('old_name.txt', 'new_name.txt') # 重命名文件
1.10 os.replace(src, dst)
-
作用:重命名文件或目录,如果目标已存在则覆盖。
-
示例:
import os os.replace('old_name.txt', 'new_name.txt') # 重命名并覆盖
2. 路径操作
2.1 os.path.join(path1, path2, ...)
-
作用:将多个路径组合成一个路径。
-
示例:
import os path = os.path.join('parent_dir', 'child_dir', 'file.txt') print(path) # 输出: parent_dir/child_dir/file.txt
2.2 os.path.abspath(path)
-
作用:返回路径的绝对路径。
-
示例:
import os print(os.path.abspath('file.txt')) # 输出文件的绝对路径
2.3 os.path.basename(path)
-
作用:返回路径中的文件名或目录名。
-
示例:
import os print(os.path.basename('/path/to/file.txt')) # 输出: file.txt
2.4 os.path.dirname(path)
-
作用:返回路径中的目录部分。
-
示例:
import os print(os.path.dirname('/path/to/file.txt')) # 输出: /path/to
2.5 os.path.exists(path)
-
作用:检查路径是否存在。
-
示例:
import os print(os.path.exists('file.txt')) # 输出: True 或 False
2.6 os.path.isfile(path)
-
作用:检查路径是否是文件。
-
示例:
import os print(os.path.isfile('file.txt')) # 输出: True 或 False
2.7 os.path.isdir(path)
-
作用:检查路径是否是目录。
-
示例:
import os print(os.path.isdir('directory')) # 输出: True 或 False
2.8 os.path.getsize(path)
-
作用:返回文件的大小(字节数)。
-
示例:
import os print(os.path.getsize('file.txt')) # 输出文件大小
2.9 os.path.splitext(path)
-
作用:将路径分割为文件名和扩展名。
-
示例:
import os print(os.path.splitext('file.txt')) # 输出: ('file', '.txt')
3. 系统命令
3.1 os.system(command)
-
作用:执行系统命令。
-
示例:
import os os.system('ls -l') # 在 Linux/Mac 上列出目录内容
3.2 os.popen(command)
-
作用:执行系统命令并返回命令的输出。
-
示例:
import os output = os.popen('ls -l').read() print(output) # 输出命令的执行结果
4. 环境变量
4.1 os.environ
-
作用:获取或设置环境变量。
-
示例:
import os print(os.environ['HOME']) # 输出 HOME 环境变量的值 os.environ['MY_VAR'] = 'my_value' # 设置环境变量
4.2 os.getenv(key, default=None)
-
作用:获取指定环境变量的值。
-
示例:
import os print(os.getenv('HOME')) # 输出 HOME 环境变量的值
5. 其他常用方法
5.1 os.walk(top)
-
作用:递归遍历目录树,返回当前目录路径、子目录列表和文件列表。
-
示例:
import os for root, dirs, files in os.walk('.'):print(f"当前目录: {root}")print(f"子目录: {dirs}")print(f"文件: {files}")
5.2 os.stat(path)
-
作用:获取文件或目录的状态信息。
-
示例:
import os stat_info = os.stat('file.txt') print(stat_info.st_size) # 输出文件大小 print(stat_info.st_mtime) # 输出最后修改时间
总结
os
模块提供了丰富的功能来操作文件、目录、路径以及执行系统命令。以下是常用方法的总结:
功能类别 | 常用方法 | 描述 |
---|---|---|
文件和目录 | os.getcwd() 、os.chdir() |
获取和改变当前工作目录。 |
os.listdir() 、os.mkdir() |
列出目录内容、创建目录。 | |
os.remove() 、os.rmdir() |
删除文件和目录。 | |
os.rename() 、os.replace() |
重命名文件或目录。 | |
路径操作 | os.path.join() 、os.path.abspath() |
组合路径、获取绝对路径。 |
os.path.exists() 、os.path.isfile() |
检查路径是否存在或是否为文件。 | |
os.path.getsize() 、os.path.splitext() |
获取文件大小、分割文件名和扩展名。 | |
系统命令 | os.system() 、os.popen() |
执行系统命令并获取输出。 |
环境变量 | os.environ 、os.getenv() |
获取或设置环境变量。 |
其他 | os.walk() 、os.stat() |
递归遍历目录树、获取文件状态信息。 |