python學習038-----python之文件(三):文件中的OS模塊

我們知道,要引入一個功能,需要先引入這個模塊。比如使用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
#【注意】路徑裏的斜槓一定要是雙斜槓!否則報錯!
#後面的函數使用方法和上面的例子大同小異,不再贅述


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章