os.getcwd() 返回当前工作目录的绝对路径。
os.chdir(path) 将当前工作目录改为 path 指定的目录。
import os
# 当前工作目录
print("当前目录:", os.getcwd())
# 切换到上一级目录
os.chdir('..')
print("切换后:", os.getcwd())
os.listdir(path='') 返回 path(默认当前目录)下所有文件和子目录的名称列表。
import os
files = os.listdir('.') # 当前目录
print("文件列表:", files)
sub = os.listdir('/tmp') # 指定目录
print("/tmp 内容:", sub)
os.mkdir(path, mode=0o777) 创建单层目录。
os.makedirs(name, mode=0o777, exist_ok=False) 递归创建多层目录。
import os
# 创建单层目录
os.mkdir('demo_dir')
# 递归创建多层目录
os.makedirs('demo_dir/sub1/sub2', exist_ok=True)
os.rmdir(path) 删除空目录。
os.removedirs(path) 递归删除空目录链。
os.remove(path) 删除文件。
import os
# 删除文件
os.remove('demo_dir/sub1/sub2/file.txt')
# 删除空目录
os.rmdir('demo_dir/sub1/sub2')
os.removedirs('demo_dir/sub1')
os.rename(src, dst) 将 src 重命名为 dst,也可用于移动。
import os
# 重命名文件
os.rename('old_name.txt', 'new_name.txt')
# 移动文件
os.rename('new_name.txt', 'subdir/new_name.txt')
os.path.join(*paths) 按操作系统分隔符安全拼接路径。
os.path.exists(path) 判断路径是否存在。
os.path.isdir(path) / os.path.isfile(path) 判断路径类型。
import os
p = os.path.join('folder', 'sub', 'file.txt')
print("拼接路径:", p)
if os.path.exists(p):
if os.path.isfile(p):
print("是文件")
elif os.path.isdir(p):
print("是目录")
else:
print("路径不存在")
os.walk(top, topdown=True, onerror=None, followlinks=False) 递归遍历目录,返回 (dirpath, dirnames, filenames)。
import os
for root, dirs, files in os.walk('.'):
print('目录:', root)
for d in dirs:
print(' 子目录:', d)
for f in files:
print(' 文件:', f)
os.system(command) 在子 shell 中执行 command,返回退出码。
import os
code = os.system('echo Hello World')
print('退出码:', code)
os.getenv(key, default=None) 获取环境变量值。
os.environ 直接操作环境变量的映射对象(读取/写入)。
import os
home = os.getenv('HOME')
print('HOME:', home)
# 设置新变量
os.environ['MY_VAR'] = '12345'
print('MY_VAR:', os.getenv('MY_VAR'))
帮助快速掌握常用的 os 模块功能。