os
模块是 Python 标准库中的一个重要模块,提供了与操作系统交互的功能。它包含了许多用于文件和目录操作、环境变量访问、进程管理等功能的函数。
以下是一些 os
模块中常用的命令和功能:
1. 文件和目录操作
1.1 获取当前工作目录
import os
current_dir = os.getcwd()
print(f"Current working directory: {current_dir}")
1.2 改变当前工作目录
os.chdir('/path/to/directory')
1.3 列出目录内容
files_and_directories = os.listdir('/path/to/directory')
print(files_and_directories)
1.4 创建目录
os.mkdir('/path/to/new_directory')
1.5 递归创建目录
os.makedirs('/path/to/new_directory/subdirectory')
1.6 删除文件
os.remove('/path/to/file')
1.7 删除空目录
os.rmdir('/path/to/empty_directory')
1.8 递归删除目录
import shutil # 注意,这里使用的是 shutil 模块
shutil.rmtree('/path/to/directory')
2. 文件属性和元数据
2.1 获取文件信息
import os
file_info = os.stat('/path/to/file')
print(file_info)
2.2 检查文件是否存在
if os.path.exists('/path/to/file'):
print("File exists")
else:
print("File does not exist")
2.3 检查路径是否为文件
if os.path.isfile('/path/to/file'):
print("It is a file")
else:
print("It is not a file")
2.4 检查路径是否为目录
if os.path.isdir('/path/to/directory'):
print("It is a directory")
else:
print("It is not a directory")
3. 路径操作
3.1 拼接路径
path = os.path.join('/path/to', 'directory', 'file.txt')
print(path)
3.2 分割路径
directory, filename = os.path.split('/path/to/file.txt')
print(f"Directory: {directory}, Filename: {filename}")
3.3 获取文件名和扩展名
filename, extension = os.path.splitext('file.txt')
print(f"Filename: {filename}, Extension: {extension}")
4. 环境变量
4.1 获取环境变量
value = os.getenv('PATH')
print(value)
4.2 设置环境变量
os.environ['MY_VARIABLE'] = 'my_value'
5. 进程管理
5.1 执行系统命令
result = os.system('ls -l')
print(result)
5.2 使用 subprocess
模块执行命令
import subprocess
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)
6. 其他常用功能
6.1 获取用户家目录
home_dir = os.path.expanduser('~')
print(home_dir)
6.2 获取文件大小
file_size = os.path.getsize('/path/to/file')
print(f"File size: {file_size} bytes")
6.3 获取文件最后修改时间
import time
last_modified = os.path.getmtime('/path/to/file')
print(f"Last modified: {time.ctime(last_modified)}")