1. 程式人生 > 其它 >Python OS模組詳解

Python OS模組詳解

技術標籤:Pythonpython程式語言

目錄

os模組概述

呼叫系統檔案或程式

直接呼叫可執行檔案

當前使用平臺

os模組操作目錄相關函式

當前路徑和檔案

建立目錄

刪除檔案或目錄

更改路徑

os.path() 模組

絕對路徑

檢視檔案

檢視檔名或目錄

檔名分離

檢視檔案時間

檢視檔案大小


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)