我們知道,要引入一個功能,需要先引入這個模塊。比如使用random()隨機函數,需要引入random模塊。下面我們要介紹一個高大上的模塊:OS模塊。
OS即操作系統。由於python是跨平臺語言,所以在各個操作系統下,python源碼都能運行。有了OS模塊,我們就不需要關心什麼操作系統下使用什麼模塊,OS模塊會幫助我們選擇正確的模塊並調用。
OS模塊中,關於文件/目錄常用的函數使用方法
'''
函數名 使用方法
getcwd() 返回當前工作目錄
chdir(path) 改變工作目錄
listdir(path='.') 列舉指定目錄中的文件名('.'表示當前目錄,'..'表示上一級目錄)
mkdir(path) 創建單層目錄,如該目錄已存在則拋出異常(參數需要字符串)
makedirs(path) 遞歸創建多層目錄,如果該目錄已經存在則拋出異常,注意:'E:\\a\\b' 和 'E:\\a\\c' 並不會衝突
remove(path) 刪除文件
rmdir(path) 刪除單層目錄,如該目錄非空則拋出異常
removedirs(path) 遞歸刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇目
錄非空則拋出異常
rename(old, new) 將文件old重命名爲new
system(command) 運行系統的shell命令
'''
語法格式: os.方法名
支持路徑操作系統中常用到的一些定義,支持所有平臺
'''
os.curdir 指代當前目錄( '.' )
os.pardir 指代上一級目錄( '..' )
os.sep 輸出操作系統特定的路徑分隔符(Win下爲'\\', Linux下爲'/')
os.linesep 當前平臺使用的行終止符(Win下爲'\r\n',Linux下爲'\n')
os.name 指代當前使用的操作系統(包括:'posix', 'nt', 'mac', 'os2', 'ce', 'java')
'''
這些不用全部背下來,要用的時候查就可以了,只要知道怎麼用就可以。舉例:
import os #【注意】一定要導入os包,否則不能運行!
print( os.getcwd() ) #【輸出】C:\Users\leopold\Desktop
print( os.name ) #【輸出】nt
下面介紹os.path模塊,這個模塊和前面的os模塊不是一個東西,所以在使用下面的函數的時候
要加上os.path.*
'''
函數名 使用方法
basename( path ) 去掉目錄路徑,單獨返回文件名
dirname( path ) 去掉文件名,單獨返回目錄路徑
join( path1[,path2[,.....]] ) 將path1,path2各部分組合成一個路徑名
split( path ) 分割文件名與路徑,返回(f_path, f_name)元組。如果完全使用目錄,它也會將最後一個目錄作爲文件名分離,且不會判斷文件或者目錄是否存在
splitext( path ) 分離文件名與擴展名,返回(f_name, f_extension)元組
getsize( file ) 返回指定文件的尺寸,單位是字節
getatime( file ) 返回指定文件的最近的訪問時間(浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)
getctime( file ) 返回指定文件的創建時間(浮點型秒數,可用time模塊的gmtime() 或 localtime()函數換算 )
getmtime( file ) 返回指定文件最新的修改時間( 浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)
-------------------------------------------------------------------------------------------------------------------------
以下函數返回Ture或False
-------------------------------------------------------------------------------------------------------------------------
exists( path ) 判斷指定路徑(目錄或文件 )是否存在
isabs( path ) 判斷指定路徑是否爲絕對路徑
isdir( path ) 判斷指定路徑是否存在且是一個目錄
isfile( path ) 判斷指定路徑是否存在且是一個文件
islink( path ) 判斷指定路徑是否存在且是一個符號鏈接
ismount(path) 判斷指定路徑是否存在且是一個掛載點,ps:掛載點實際上就是linux中的磁盤文件系統的入口目錄,類似於windows中的用來訪問不同分區的C:、D:、E:等盤符
samefile( path1, path2 ) 判斷path1和path2兩個路徑是否指向同一個文件
'''
舉幾個例子說明用法:
#【前面已經導入過os包了,這裏不再重複導入】
a = os.path.basename('C:\\Users\\leopold\\Desktop\\class30.py')
print(a) #【輸出】class30.py
#【注意】路徑裏的斜槓一定要是雙斜槓!否則報錯!
#後面的函數使用方法和上面的例子大同小異,不再贅述