🗒初墨
🍊Hello,各位好,我是面包!
作为Python与操作系统交互的瑞士军刀,os库藏着无数文件管理的秘密武器。本文结合多篇权威资料,为你揭秘这些函数的正确打开方式!
一、目录操控术
os.getcwd()
作用:获取当前工作目录(相当于CMD里的cd命令)
示例:
print(os.getcwd()) # 输出:C:\Users\AI小助手\Desktop
os.chdir("D:/Projects")作用:切换工作目录(像在资源管理器里双击文件夹)
注意:路径要用正斜杠或双反斜杠
os.chdir("C:/Windows/System32") # 切换到系统目录
os.mkdir("new_folder")作用:创建单个目录(若父目录不存在会报错)
升级版:
os.makedirs("parent/child/grandchild") # 递归创建多级目录二、文件侦察兵
os.listdir(".")
作用:列出当前目录所有内容(包括文件和文件夹)
高级用法:
# 获取所有.py文件
py_files = [f for f in os.listdir() if f.endswith('.py')]
os.path.exists("secret.txt")作用:检查文件/目录是否存在(防报错神器) 扩展技能:
os.path.isfile("data.csv") # 判断是否是文件
os.path.isdir("Downloads") # 判断是否是目录
os.stat("movie.mp4")作用:获取文件元数据(大小、修改时间等) 查看文件大小:
size = os.path.getsize("video.mp4") # 返回字节数三、路径魔法师
os.path.join("dir", "sub", "file.txt")
作用:智能拼接路径(自动处理不同系统的分隔符) 示例输出:
# Windows下输出:dir\sub\file.txt
# Linux下输出:dir/sub/file.txt
os.path.abspath("../../secret.jpg")作用:获取绝对路径(解决相对路径的混乱问题) 配合技能:
os.path.dirname(__file__) # 获取当前脚本所在目录
os.path.split("/home/user/docs/report.pdf")作用:分离目录与文件名 输出结果:
('/home/user/docs', 'report.pdf') # (head, tail)元组四、危险操作区
os.remove("temp.log")
作用:删除文件( irreversible!) 安全提示:
if os.path.exists("temp.log"):
os.remove("temp.log") # 先检查再删除
os.rmdir("empty_folder")作用:删除空目录 核弹版:
import shutil
shutil.rmtree("folder_with_files") # 强制删除非空目录五、跨平台秘籍
os.name
作用:检测操作系统类型 返回值:
print(os.name) # 'nt'表示Windows,'posix'表示Linux/Macos.sep
作用:获取系统路径分隔符
示例:
# Windows返回'\',Linux返回'/'🛠️ 实战场景
批量重命名工具(参考 6):
import os
folder = "photos"
for filename in os.listdir(folder):
if filename.endswith(".jpg"):
new_name = f"vacation_{filename}"
os.rename(os.path.join(folder, filename),
os.path.join(folder, new_name))文件搜索器(参考 2):
def search_file(root, target):
for item in os.listdir(root):
path = os.path.join(root, item)
if os.path.isfile(path) and item == target:
return path
elif os.path.isdir(path):
result = search_file(path, target)
if result: return result
return None💡 避坑指南(参考 4 7):
路径中的反斜杠要写成\或使用原始字符串r"C:\Windows"
os.mkdir创建多级目录会报错,优先使用os.makedirs
删除操作前务必用os.path.exists进行检查
跨平台开发时使用os.path.join代替手动拼接路径
掌握这些函数,你就能像操纵提线木偶一样操控文件和目录!想成为文件管理大师?现在就开始练习吧! 🚀
