Python OS模組詳解
阿新 • • 發佈:2021-02-14
目錄
os模組概述
- os模組是Python內建的與作業系統功能和檔案系統相關的模組,該模組中的語句的執行結果通常與作業系統有關,在不同的作業系統上執行,得到的結果可能不一樣
- os模組與os.path模組用於對目錄或檔案進行操作
前提:在使用函式之前需先匯入os函式
呼叫系統檔案或程式
# os模組與作業系統相關的一個模組,可以呼叫系統檔案或應用程式 import os print(os.system("notepad.exe")) print(os.system("calc.exe")) print(os.system('cmd'))
直接呼叫可執行檔案
# 直接呼叫可執行檔案(如:開啟網易雲音樂)
print(os.startfile('F:\\CloudMusic\\cloudmusic.exe'))
當前使用平臺
# 返回當前使用平臺的代表字元,Windows用'nt'表示,Linux用'posix'表示
print(os.name)
os模組操作目錄相關函式
函式 | 使用說明 |
---|---|
getcwd() | 返回當前的工作目錄 |
listdir(path) | 返回指定路徑下的檔案和目錄資訊 |
mkdir(path[,mode]) | 建立目錄 |
makedirs(path1/path2…[,mode]) | 建立多級目錄 |
rmdir(path) | 刪除目錄 |
removedirs(path1/path2…) | 刪除多級目錄 |
chdir(path) | 將path設定為當前工作目錄 |
當前路徑和檔案
# 返回當前工作目錄
print(os.getcwd())
# 返回stusystem目錄下所有檔案列表
print(os.listdir('../stusystem'))
執行以上程式輸出結果為:
建立目錄
#建立path目錄(只能建立一級目錄,如'F:\XXX\WWW'),在XXX目錄下建立WWW目錄
os.mkdir(path)
#建立多級目錄(如'F:\XXX\SSS'),在F盤下建立XXX目錄,繼續在XXX目錄下建立SSS目錄
os.makedirs(path)
刪除檔案或目錄
#刪除檔案(必須是檔案) os.remove(path) #刪除path目錄(只能刪除一級目錄,如'F:\XXX\SSS'),只刪除SSS目錄 os.rmdir(path) #刪除多級目錄(如'F:\XXX\SSS'),必須為空目錄,刪除SSS、FFF目錄 os.removedirs(path)
更改路徑
#將當前工作目錄更改為指定路徑path
os.chdir(path)
os.path() 模組
函式 | 使用方法 |
---|---|
abspath(path) | 用於獲取檔案或目錄的絕對路徑 |
exists(path) | 用於判斷檔案或目錄是否存在,如果存在返回True,否則返回False |
join(path,name) | 將目錄與目錄或者檔名拼接起來 |
split(path) | 把路徑分割成 dirname 和 basename,返回一個元組 |
splitext() | 分離檔名和副檔名 |
basename(path) | 從一個目錄中提取檔名 |
dirname(path) | 從一個路徑中提取檔案路徑,不包含檔名 |
isdir(path) | 用於判斷路徑是否為目錄 |
isfile(path) | 用於判斷路徑是否為檔案 |
split(path) | 把路徑分割成 dirname 和 basename,返回一個元組 |
絕對路徑
#返回path的絕對路徑
os.path.abspath(path)
檢視檔案
#判斷path是否存在,存在返回True,不存在返回False
os.path.exists(path)
#判斷path是否為檔案,是返回True,不是返回False
os.path.isfile(path)
#判斷path是否目錄,是返回True,不是返回False
os.path.isdir(path)
檢視檔名或目錄
# 將path的目錄和檔名分開為元組
os.path.split(path)
# 將path1,怕path2,...進行組合,若path2為絕對路徑,則會將path1刪除
os.path.join(path1,path2,...)
#返回path中的目錄(資料夾部分),結果不包含'\'
os.path.dirname(path)
#返回path中的檔名
os.path.basename(path)
檔名分離
# 分割檔名與路徑,返回(f_path, f_name)元組。如果完全使用目錄,它也會將最後一個目錄作為檔名分離,且不會判斷檔案或者目錄是否存在
split(path)
# 分離檔名與副檔名,返回(f_name, f_extension)元組
splitext(path)
檢視檔案時間
# 返回檔案或目錄的最後修改時間,結果為秒數
os.path.getmtime(path)
# 返回檔案或目錄的最後訪問時間,結果為秒數
os.path.getatime(path)
# 返回檔案或目錄得建立時間,結果為秒數
os.path.getctime(path)
檢視檔案大小
#返回檔案的大小,若是目錄則返回0
os.path.getsize(path)