os模块
Python os
模块详解
os
模块提供了非常多的与操作系统进行交互的函数。它使得程序可以执行诸如文件处理、目录操作、路径管理等任务,并且可以与系统的环境变量进行交互。
1. 导入模块
import os
2. 目录操作
- 获取当前工作目录
current_directory = os.getcwd()
print(current_directory)
- 改变当前工作目录
os.chdir('/path/to/directory')
- 创建目录
os.mkdir('new_directory') # 创建单级目录
os.makedirs('new_directory/sub_directory') # 创建多级目录
- 删除目录
os.rmdir('directory') # 删除单级空目录
os.removedirs('directory/sub_directory') # 删除多级空目录
- 列出目录内容
files = os.listdir('.')
print(files)
3. 文件操作
- 创建文件
with open('file.txt', 'w') as f:
f.write('Hello, World!')
- 删除文件
os.remove('file.txt')
- 重命名文件或目录
os.rename('old_name.txt', 'new_name.txt')
- 获取文件或目录的状态
stat_info = os.stat('file.txt')
print(stat_info)
4. 路径操作
- 获取文件路径的绝对路径
absolute_path = os.path.abspath('file.txt')
print(absolute_path)
- 检查路径是否存在
exists = os.path.exists('file.txt')
print(exists)
- 检查是否是文件
is_file = os.path.isfile('file.txt')
print(is_file)
- 检查是否是目录
is_dir = os.path.isdir('directory')
print(is_dir)
- 路径拼接
full_path = os.path.join('/path', 'to', 'directory')
print(full_path)
5. 环境变量
- 获取环境变量
path = os.getenv('PATH')
print(path)
- 设置环境变量
os.environ['MY_VARIABLE'] = 'my_value'
6. 进程管理
- 执行系统命令
os.system('ls -l')
- 获取当前进程 ID
pid = os.getpid()
print(pid)
- 获取父进程 ID
ppid = os.getppid()
print(ppid)
- 创建子进程
pid = os.fork()
if pid == 0:
print('This is the child process.')
else:
print('This is the parent process.')
7. 异常处理
os
模块的很多操作可能会引发异常,特别是文件和目录操作,因此在使用时应进行适当的异常处理。
try:
os.remove('non_existent_file.txt')
except FileNotFoundError:
print("File not found.")
8. 常用的其他功能
- 获取操作系统类型
os_type = os.name
print(os_type) # 输出 'posix', 'nt', 'os2', 'ce', 'java', 'riscos' 之一
- 获取系统的详细信息
system_info = os.uname() # 仅适用于 Unix 系统
print(system_info)
- 列出环境变量
env_vars = os.environ
print(env_vars)
总结
os
模块是一个非常强大的模块,可以帮助开发者进行各种与操作系统交互的任务。在使用时,了解各个函数的作用和适用场景将大大提高开发效率。