Python 的 os 库常见使用方法(操作目录及文件)

前言:

os 模块是 Python 标准库中用于与操作系统交互的核心模块,提供了许多操作文件和目录的功能。以下是常见的使用方法:

1. 目录操作

方法功能说明示例
os.getcwd()获取当前工作目录print(os.getcwd())
os.chdir(path)切换当前工作目录os.chdir("/tmp")
os.listdir(path)列出目录下的文件和子目录files = os.listdir(".")
os.mkdir(path)创建单层目录os.mkdir("new_dir")
os.makedirs(path)递归创建多层目录os.makedirs("a/b/c")
os.rmdir(path)删除空目录os.rmdir("empty_dir")
os.removedirs(path)递归删除空目录os.removedirs("a/b/c")
os.path.isdir(path)判断是否为目录if os.path.isdir("dir"):

2. 文件操作

方法功能说明示例
os.remove(path)删除文件os.remove("file.txt")
os.rename(src, dst)重命名文件或目录os.rename("old.txt", "new.txt")
os.path.exists(path)判断路径是否存在if os.path.exists("file"):
os.path.isfile(path)判断是否为文件if os.path.isfile("file"):
os.path.getsize(path)获取文件大小(字节)size = os.path.getsize("file.txt")

3. 路径操作(os.path 子模块)

方法功能说明示例
os.path.join(a, b)拼接路径(跨平台兼容)path = os.path.join("dir", "file.txt")
os.path.abspath(path)获取绝对路径abs_path = os.path.abspath(".")
os.path.dirname(path)获取目录部分dir = os.path.dirname("/tmp/file.txt")
os.path.basename(path)获取文件名部分file = os.path.basename("/tmp/file.txt")
os.path.split(path)拆分目录和文件名dir, file = os.path.split("/tmp/file.txt")

案例1:通过os库方法获取平台信息

import os
# 1.os.set属性:获取本机操作系统的分隔符
print(os.sep) # \
# 2.os.name属性:获取本机操作系统的类型
print(os.name) # nt代表windows系统,posix代表Linux
# 3.os.getcwd()方法:获取当前工作目录
print(os.getcwd()) # D:\ProjectAndRepositories\PyCharmWorkspace\jiangchubook\requestProject\第3章 使用os库操作目录及文件

案例2:通过os库方法对目录或文件进行增删改查

# 4.1 os.listdir() 方法:获取项目路径下所有文件和目录列表,并以列表的形式展示
print(os.listdir()) # ['1.os使用.py']
print(os.listdir("E:\\【书】【有用重要】2024软件测试接口自动化和UI自动化完整代码\\1.接口自动化 视频+ppt+源代码\\本书的学习流程.txt")) # 获取指定盘符下的所有文件和目录列表,并以列表形式展示
# 4.2 os.mkdir()方法创建目录文件
os.mkdir("testcase") # 当前路径下创建一个名为“testcase”的目录
os.mkdir("E:\\testcast")
# 4.3 os.rmdir()方法:删除一个空目录
os.rmdir("testcase") # 删除当前项目路径下空目录文件testcase
os.rmdir("E:\\testcast") # 删除指定路径下,空目录文件testcase
# 4.4 os.remove()方法:删除指定文件
os.remove("123.txt") # 删除当前项目路径下的"123.txt"文件
os.remove("E:\\data\\2.doc")
# 4.5 os.rename()方法:重命名目录或文件 os.rename("原目录名","新目录名")
os.rename("score002.txt","score001.txt")

案例3:通过os.path子模块来操作目录及文件


# 1.__file__特殊成员:返回当前文件的全路径
print(__file__) # D:\ProjectAndRepositories\PyCharmWorkspace\jiangchubook\requestProject\第3章 使用os库操作目录及文件\1.os使用.py
# 2.os.path.dirname(__file__)方法:返回文件所在目录
print(os.path.dirname(__file__)) # D:\ProjectAndRepositories\PyCharmWorkspace\jiangchubook\requestProject\第3章 使用os库操作目录及文件
print(os.path.dirname(os.path.dirname(__file__))) # 文件所在目录的上一级目录 D:\ProjectAndRepositories\PyCharmWorkspace\jiangchubook\requestProject
# 3. os.path.abspath(__file__)方法:返回文件绝对路径
print(os.path.abspath(__file__)) # D:\ProjectAndRepositories\PyCharmWorkspace\jiangchubook\requestProject\第3章 使用os库操作目录及文件\1.os使用.py
# 4.os.path.dirname(os.path.abspath(__file__)) 组合 :返回当前文件所在目录
print(os.path.dirname(os.path.abspath(__file__))) # D:\ProjectAndRepositories\PyCharmWorkspace\jiangchubook\requestProject\第3章 使用os库操作目录及文件
# 5.os.path.json() 路径拼接  os.path.join(目录 + 文件名)
print(os.path.join(os.path.dirname(os.path.abspath(__file__)),"Test.py")) # D:\ProjectAndRepositories\PyCharmWorkspace\jiangchubook\requestProject\第3章 使用os库操作目录及文件\Test.py
# 6.os.path.exists() 判断路径是否存在
os.path.isfile()# 是否为文件
os.path.isdir() # 是否为目录

conf_file = os.path.abspath(__file__) # 文件路径完整
conf_path = os.path.dirname(conf_file) # 文件目录
conf_file1 = os.path.join(conf_path,"score001.txt") # 目录+文件名,拼的文件完整路径
conf_path1 = os.path.dirname(os.path.dirname(conf_path)) # 上级目录
conf_file2 = conf_path1 + os.sep + "接口自动化" +os.sep+"score001.txt" # 系统分割符os.sep,拼完整路径

os.path.exists(conf_file) # 存在
os.path.exists(conf_path) # 存在
os.path.isfile(conf_file1) # 是否为文件False, 拼的文件完整路径
os.path.isdir(conf_path1) # 是目录True

End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值