前言:
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