OS库的常用操作
os
模块是 Python 标准库的一部分,提供了丰富的功能,用于与操作系统进行交互。以下是一些常用的 os
模块操作,按功能分类介绍:
1. 文件和目录操作
1.1 创建目录
import os# 创建单个目录
os.mkdir('new_directory')# 创建多级目录
os.makedirs('new_directory/sub_directory')
1.2 删除目录
# 删除单个目录
os.rmdir('new_directory')# 删除多级目录
os.removedirs('new_directory/sub_directory')
1.3 列出目录内容
# 列出指定目录下的所有文件和目录
entries = os.listdir('path/to/directory')
print(entries)
1.4 获取文件和目录信息
# 获取文件或目录的绝对路径
abs_path = os.path.abspath('file.txt')
print(abs_path)# 检查路径是否存在
exists = os.path.exists('file.txt')
print(exists)# 检查路径是否为文件
is_file = os.path.isfile('file.txt')
print(is_file)# 检查路径是否为目录
is_dir = os.path.isdir('path/to/directory')
print(is_dir)# 获取文件大小(以字节为单位)
file_size = os.path.getsize('file.txt')
print(file_size)
1.5 重命名文件或目录
# 重命名文件或目录
os.rename('old_name.txt', 'new_name.txt')
1.6 删除文件
# 删除文件
os.remove('file.txt')
2. 路径操作
2.1 拼接路径
# 拼接路径
path = os.path.join('path', 'to', 'file.txt')
print(path)
2.2 分割路径
# 分割路径为目录和文件名
directory, filename = os.path.split('path/to/file.txt')
print(directory) # 输出: path/to
print(filename) # 输出: file.txt# 分割文件名和扩展名
filename, extension = os.path.splitext('file.txt')
print(filename) # 输出: file
print(extension) # 输出: .txt
3. 环境变量操作
3.1 获取环境变量
# 获取环境变量
home_dir = os.getenv('HOME')
print(home_dir)
3.2 设置环境变量
# 设置环境变量
os.environ['MY_VARIABLE'] = 'my_value'
4. 当前工作目录操作
4.1 获取当前工作目录
# 获取当前工作目录
current_dir = os.getcwd()
print(current_dir)
4.2 更改当前工作目录
# 更改当前工作目录
os.chdir('path/to/new/directory')
5. 文件遍历
5.1 遍历目录树
# 遍历目录树
for root, dirs, files in os.walk('path/to/directory'):print(f'当前目录: {root}')print(f'子目录: {dirs}')print(f'文件: {files}')
6. 其他常用操作
6.1 获取系统信息
# 获取操作系统名称
os_name = os.name
print(os_name) # 输出: 'posix' (Linux/Mac) 或 'nt' (Windows)# 获取当前用户的登录名
username = os.getlogin()
print(username)
6.2 执行系统命令
# 执行系统命令
output = os.system('ls -l') # 在 Linux/Mac 上列出目录内容
print(output)
示例代码
以下是一个综合示例,展示了如何使用 os
模块进行常见的文件和目录操作:
import os# 创建目录
os.makedirs('example_directory/sub_directory')# 列出目录内容
entries = os.listdir('example_directory')
print(entries)# 获取文件和目录信息
file_path = os.path.join('example_directory', 'file.txt')
with open(file_path, 'w') as f:f.write('Hello, world!')print(os.path.exists(file_path)) # 输出: True
print(os.path.isfile(file_path)) # 输出: True
print(os.path.getsize(file_path)) # 输出: 13# 重命名文件
os.rename(file_path, os.path.join('example_directory', 'new_file.txt'))# 删除文件
os.remove(os.path.join('example_directory', 'new_file.txt'))# 删除目录
os.rmdir('example_directory/sub_directory')
os.rmdir('example_directory')
总结
os
模块提供了丰富的功能,用于与操作系统进行交互,包括文件和目录操作、路径操作、环境变量操作、当前工作目录操作、文件遍历等。这些功能在处理文件和目录时非常有用,可以帮助你更高效地完成任务。