os模塊簡(jiǎn)介:
? ? ? ? ? OS模塊是Python標(biāo)準(zhǔn)庫(kù)中的一個(gè)用于訪問(wèn)操作系統(tǒng)功能的模塊,OS模塊提供了一種可移植的方法使用操作系統(tǒng)的功能。使用OS模塊中提供的接口,可以實(shí)現(xiàn)跨平臺(tái)訪問(wèn)。但是在OS模塊中的接口并不是所有平臺(tái)都通用,有些接口的實(shí)現(xiàn)是依靠特定平臺(tái)下的接口的。在OS模塊中提供了一系列訪問(wèn)操作系統(tǒng)功能的接口,便于編寫(xiě)跨平臺(tái)的應(yīng)用。
在使用OS模塊的時(shí)候,如果需要獲取系統(tǒng)的名字,可以使用os.name獲取拋入這個(gè)模塊的系統(tǒng)的名稱(chēng),如果是在windows平臺(tái)下,則返回‘nt’,在Linux則返回‘posix’。
OS模塊中的異常處理:
在使用OS模塊的時(shí)候,如果使用過(guò)程中出現(xiàn)了異常,OS模塊會(huì)拋出OSError異常,表明:無(wú)效的路徑名或文件名,或者給出的路徑名或文件名無(wú)法訪問(wèn),或者當(dāng)前使用的系統(tǒng)不支持。
在OS模塊中,你可以使用OS模塊定義的os.error這個(gè)exception,os.error是OSError的別名
python編程時(shí),經(jīng)常和文件、目錄打交道,這是就離不了os模塊。os模塊包含普遍的操作系統(tǒng)功能,與具體的平臺(tái)無(wú)關(guān)。以下列舉常用的命令
1. os.name()——判斷現(xiàn)在正在實(shí)用的平臺(tái),Windows 返回 ‘nt'; Linux 返回’posix'
2. os.getcwd()——得到當(dāng)前工作的目錄。
3. os.listdir()——指定所有目錄下所有的文件和目錄名。例:
以列表的形式全部列舉出來(lái),其中沒(méi)有區(qū)分目錄和文件。
4. os.remove()——?jiǎng)h除指定文件
5. os.rmdir()——?jiǎng)h除指定目錄
6. os.mkdir()——?jiǎng)?chuàng)建目錄
注意:這樣只能建立一層,要想遞歸建立可用:os.makedirs()
7. os.path.isfile()——判斷指定對(duì)象是否為文件。是返回True,否則False
8. os.path.isdir()——判斷指定對(duì)象是否為目錄。是True,否則False。例:
9. os.path.exists()——檢驗(yàn)指定的對(duì)象是否存在。是True,否則False.例:
10. os.path.split()——返回路徑的目錄和文件名。例:
此處只是把前后兩部分分開(kāi)而已。就是找最后一個(gè)'/'。看例子:
11. os.getcwd()——獲得當(dāng)前工作的目錄(get current work dir)
12. os.system()——執(zhí)行shell命令。例:
注意:此處運(yùn)行shell命令時(shí),如果要調(diào)用python之前的變量,可以用如下方式:
var=123os.environ['var']=str(var)//注意此處[]內(nèi)得是 “字符串”os.system('echo $var')
13. os.chdir()——改變目錄到指定目錄
14. os.path.getsize()——獲得文件的大小,如果為目錄,返回0
15. os.path.abspath()——獲得絕對(duì)路徑。例:
16. os.path.join(path, name)——連接目錄和文件名。例:
17.os.path.basename(path)——返回文件名
18. os.path.dirname(path)——返回文件路徑
os.path模塊:
1、os.path.split()
函數(shù)返回一個(gè)路徑的目錄名和文件名
os.path.split(‘C:\Python25\abc.txt’)
(‘C:\Python25’, ‘a(chǎn)bc.txt’)
2、os.path.isfile()和os.path.isdir()函數(shù)分別檢驗(yàn)給出的路徑是一個(gè)文件還是目錄。
os.path.isdir(os.getcwd())
True
os.path.isfile(‘a(chǎn).txt’)
False
3、os.path.exists()函數(shù)用來(lái)檢驗(yàn)給出的路徑是否真地存在
os.path.exists(‘C:\Python25\abc.txt’)
False
os.path.exists(‘C:\Python25’)
True
4、os.path.abspath(name):獲得絕對(duì)路徑
5、os.path.normpath(path):規(guī)范path字符串形式
6、os.path.getsize(name):獲得文件大小,如果name是目錄返回0L
7、os.path.splitext():分離文件名與擴(kuò)展名
os.path.splitext(‘a(chǎn).txt’)
(‘a(chǎn)’, ‘.txt’)
8、os.path.join(path,name):連接目錄與文件名或目錄
os.path.join(‘c:\Python’,’a.txt’)
‘c:\Python\a.txt’
os.path.join(‘c:\Python’,’f1’)
‘c:\Python\f1’
9、os.path.basename(path):返回文件名
os.path.basename(‘a(chǎn).txt’)
‘a(chǎn).txt’
os.path.basename(‘c:\Python\a.txt’)
‘a(chǎn).txt’
10、os.path.dirname(path):返回文件路徑
os.path.dirname(‘c:\Python\a.txt’)
‘c:\Python’
os.path.abspath(path)#返回絕對(duì)路徑
os.path.split(path#將path分割成目錄和文件名二元組返回
os.path.dirname(path)#返回path的目錄。其實(shí)就是os.path.split(path)的第一個(gè)元素
os.path.basename(path)#返回path最后的文件名
os.path.exists(path)#如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)#如果path是絕對(duì)路徑,返回True
os.path.isfile(path)#如果path是一個(gè)存在的文件,返回True。否則返回False
os.path.isdir(path)#如果path是一個(gè)存在的目錄,則返回True。否則返回False
os.path.getatime(path)#返回path所指向的文件或者目錄的最后存取時(shí)間
os.path.getmtime(path)#返回path所指向的文件或者目錄的最后修改時(shí)間
s.path.join(path1[,?path2[,?...]])#將多個(gè)路徑組合后返回,第一個(gè)絕對(duì)路徑之前的參數(shù)將被忽略。
>>>?os.path.join('c:\\',?'csv',?'test.csv')
'c:\\csv\\test.csv'
>>>?os.path.join('windows\temp','c:\\',?'csv',?'test.csv')
'c:\\csv\\test.csv'
>>>?os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c')
'/home/aa/bb/c'