Python中os模块的基本用法 os模块是Python 的标准库模块之一它提供了一种与操作系统进行交互的便捷方式可以执行多种与操作系统相关的任务如文件和目录操作、环境变量管理、进程管理等。主要功能和常见用法1.文件和目录操作获取当前工作目录import os current_dir os.getcwd()改变当前工作目录os.chdir(/path/to/directory)创建目录os.mkdir(new_directory)递归创建多级目录os.makedirs(parent_dir/child_dir)删除文件os.remove(file.txt)删除目录os.rmdir(directory)递归删除多级目录os.removedirs(parent_dir/child_dir)2. 路径操作获取路径的绝对路径abs_path os.path.abspath(file.txt)可以通过以下方式获取当前目录的绝对路径 os.path.abspath(.) # 假设当前工作目录是 /home/user/project那么执行这段代码时输出将是/home/user/project. 表示当前路径所以将其作为参数传递给 os.path.abspath() 时表示希望获取当前目录的绝对路径。连接路径full_path os.path.join(directory, file.txt)os.path.join() 是将多个路径组件拼接在一起的方法确保在不同的操作系统中生成有效的路径。它可以自动处理路径之间的分隔符因此无论你使用什么操作系统都能确保路径是正确的。os.path.join()有以下应用场景跨平台路径拼接在不同的操作系统中路径分隔符可能不同。例如Windows 使用反斜杠\而 Linux 和 macOS 使用斜杠/。os.path.join() 会根据操作系统自动选择正确的分隔符。path os.path.join(folder, subfolder, file.txt) # Windows: folder\\subfolder\\file.txt # Linux/macOS: folder/subfolder/file.txt生成动态路径当你的程序需要根据用户输入或程序逻辑动态生成路径时os.path.join() 可以轻松将目录和文件名组合成完整路径。directory /home/user/documents filename report.pdf full_path os.path.join(directory, filename) # 结果: /home/user/documents/report.pdf处理相对路径如果你有部分路径并希望将其与当前目录或其他相对路径结合可以使用 os.path.join() 。relative_path os.path.join(.., data, input.csv) # 结果: ../data/input.csv构建复杂目录结构在生成复杂的目录结构时os.path.join() 可以确保路径的正确性避免手动添加分隔符的错误。base_dir /var/www sub_dir html file_name index.html path os.path.join(base_dir, sub_dir, file_name) # 结果: /var/www/html/index.html处理文件批量操作在处理文件批量操作时例如批量读取某个目录下的所有文件可以通过 os.path.join() 生成完整的文件路径。directory /path/to/files files [file1.txt, file2.txt, file3.txt] for file in files: full_path os.path.join(directory, file) print(full_path) # 结果: # /path/to/files/file1.txt # /path/to/files/file2.txt # /path/to/files/file3.txt分离路径中的文件名和目录directory, filename os.path.split(/path/to/file.txt)获取文件的扩展名filename, extension os.path.splitext(file.txt)判断路径是否存在os.path.exists(/path/to/directory)判断是否为文件os.path.isfile(/path/to/file.txt)判断是否为目录os.path.isdir(/path/to/directory)3. 执行系统命令运行系统命令os.system(ls -l)4. 环境变量操作获取环境变量path os.getenv(PATH)设置环境变量os.environ[NEW_VAR] value5. 获取进程信息获取当前进程IDpid os.getpid()获取父进程IDppid os.getppid()获取当前用户IDuid os.getuid()获取当前组IDgid os.getgid()6. 文件重命名和移动重命名文件或目录os.rename(old_name.txt, new_name.txt)移动文件或目录使用 os.rename 实现os.rename(/path/to/file.txt, /new/path/to/file.txt)这些功能涵盖了操作系统交互的很多常见场景是使用 Python 进行系统级编程的重要工具。典型应用场景自动化脚本使用 os 模块可以方便地编写文件操作、批量重命名、目录遍历等自动化任务。系统信息获取获取操作系统类型、环境变量、进程信息等。跨平台开发os 模块可以帮助编写与操作系统无关的代码确保代码在不同的操作系统上都能运行。