一.介紹
os庫(kù)是與操作系統(tǒng)相關(guān)的庫(kù),它提供了通用的基本的操作系統(tǒng)交互功能。os庫(kù)是Python的標(biāo)準(zhǔn)庫(kù)之一,它里面包含幾百個(gè)處理函數(shù),能夠處理與操作系統(tǒng)相關(guān)的功能,包括路徑操作、進(jìn)程管理、環(huán)境參數(shù)設(shè)置等幾類功能。其中路徑操作是利用os.path子庫(kù),它用于處理文件以及目錄的路徑,并獲得相關(guān)的信息;進(jìn)程管理指啟動(dòng)系統(tǒng)中的其它程序的功能;環(huán)境參數(shù)指獲得系統(tǒng)軟硬件信息等環(huán)境參數(shù)。
當(dāng)然os庫(kù)還包含很多其它功能,這里只介紹這三種。
二.使用說(shuō)明
1.os庫(kù)的路徑操作
os庫(kù)使用os.path子庫(kù)來(lái)進(jìn)行路徑操作,這個(gè)子庫(kù)以path為入口,用于操作和處理文件的路徑,這里的path(入口)指的是目錄或包含文件名稱的文件的路徑。具體使用保留字import,調(diào)用import os.path或者import os.path as <別名>。
常用函數(shù)如下:
os.path.abspath(path)
返回path在當(dāng)前文件系統(tǒng)中的絕對(duì)路徑(path也許是不存在的),例如:
>>> import os
>>> os.path.abspath("/")
'C:\\'
>>> os.path.abspath("a.txt")
'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\a.txt'
>>> os.path.abspath("C:/Users/Administrator/Desktop/text.py")
'C:\\Users\\Administrator\\Desktop\\text.py'
os.path.normpath(path)
將path歸一化的表示,統(tǒng)一使用\分隔路徑,只是修改提供的path不會(huì)返回絕對(duì)路徑,
也認(rèn)為是可以將字符串path中的/和//改為\,例如:
>>> import os
>>> os.path.normpath("/")
'\\'
>>> os.path.normpath("a.txt")
'a.txt'
>>> os.path.normpath("C://")
'C:\\'
os.path.relpath(path)
返回當(dāng)前程序與文件之間的相對(duì)路徑(文件也許不存在),例如:
>>> import os
>>> os.path.relpath("C:/a.txt")
'..\\..\\..\\..\\a.txt'
os.path.dirname(path)
返回path中的目錄名稱(path也許不存在),例如:
>>> import os
>>> os.path.dirname("C:/a.txt")
'C:/'
>>> os.path.dirname("a.txt")
''
os.path.basename(path)
返回文件的文件名(path也許不存在),例如:
>>> import os
>>> os.path.basename("C:/a.txt")
'a.txt'
os.path.join(path,*paths)
組合path和paths,返回一個(gè)路徑字符串,例如:
>>> import os
>>> os.path.join("C:/","Python/a.txt")
'C:/Python/a.txt'
>>> os.path.join("c:/","Python/a.txt","Python/b.txt")
'c:/Python/a.txt\\Python/b.txt'
>>> os.path.join("c:/","python","a.txt")
'c:/python\\a.txt'
>>> os.path.join("c:/","python/","a.txt")
'c:/python/a.txt'
os.path.exists(path)
判斷path對(duì)應(yīng)文件或目錄是否存在,返回True或Fasle,例如:
>>> import os
>>> os.path.exists("C:/python/a.txt")
False
os.path.isfile(path)
判斷path所對(duì)應(yīng)的是否是存在的文件,返回True或False,例如:
>>> import os
>>> os.path.isfile("C:/python/a.txt")
False
>>> os.path.isfile("C:/Users")
False
os.path.isdir(path)
判斷path所對(duì)應(yīng)的的是否是存在的目錄,返回True或False,例如:
>>> import os
>>> os.path.isdir("C:/Users/a.txt")
False
>>> os.path.isdir("C:/python")
False
>>> os.path.isdir("C:/Users")
True
os.path.getatime(path)
返回path對(duì)應(yīng)文件或目錄最近一次的訪問(wèn)時(shí)間,path不存在則報(bào)錯(cuò),例如:
>>> import os
>>> os.path.getatime("C:/Users/Administrator/Desktop/text.py")
1585729867.9679828
os.path.getmtime(path)
返回path對(duì)應(yīng)文件或目錄最近一次的修改時(shí)間,path不存在則報(bào)錯(cuò),例如:
>>> import os
>>> os.path.getmtime("C:/Users/Administrator/Desktop/text.py")
1586841541.9545102
os.path.getctime(path)
返回path對(duì)應(yīng)文件或目錄的創(chuàng)建時(shí)間,path不存在則報(bào)錯(cuò),例如:
>>> import os
>>> os.path.getctime("C:/Users/Administrator/Desktop/text.py")
1585729867.6859667
os.path.getsize(path)
返回path對(duì)應(yīng)文件的大小,以字節(jié)為單位,例如:
>>> import os
>>> os.path.getsize("C:/Users/Administrator/Desktop/text.py")
44
返回的三個(gè)時(shí)間可以使用time.ctime()來(lái)轉(zhuǎn)化為易讀時(shí)間。
2.os庫(kù)之進(jìn)程管理
進(jìn)程管理指的是使用編寫的Python程序去調(diào)用其他的外部程序。os庫(kù)提供了一個(gè)函數(shù)叫system(),它能夠執(zhí)行其他的程序或命令。在Windows操作系統(tǒng)中,當(dāng)我們調(diào)用os.system()函數(shù)時(shí),它將返回調(diào)用這個(gè)函數(shù)結(jié)果的返回信息。
舉個(gè)例子:
>>> import os
>>> os.system("C:/Windows/System32/calc.exe") #調(diào)用計(jì)算器函數(shù)
之后會(huì)出現(xiàn)如下窗口
如果此時(shí)關(guān)閉計(jì)算器窗口那么會(huì)在IDLE中返回0。
當(dāng)然也可以給調(diào)用的程序指定參數(shù),例如打開(kāi)畫(huà)圖程序msprint.exe,同時(shí)給出要打開(kāi)的文件:
>>> import os
>>> os.system("C:/Windows/System32/mspaint.exe C:/Users/Administrator/Desktop/pywcloud.png")
調(diào)用的文件需要在Python根目錄下存在(不知道是不是必須),之后出現(xiàn)如下窗口
關(guān)閉畫(huà)圖窗口后,IDLE返回0.
3.os庫(kù)之環(huán)境參數(shù)
環(huán)境參數(shù)是指獲取或改變操作系統(tǒng)中的環(huán)境信息,常用函數(shù)如下:
os.chdir(path)
修改當(dāng)前程序的操作路徑,例如:
>>> import os
>>> os.path.abspath("a.txt")
'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64\\a.txt'
>>> os.chdir("D:/") #Python小白學(xué)習(xí)交流群:725638078
>>> os.path.abspath("a.txt")
'D:\\a.txt'
os.getcwd()
返回程序的當(dāng)前路徑,例如:
>>> import os
>>> os.getcwd()
'C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\Python36_64'
os.getlogin()
獲取當(dāng)前系統(tǒng)登錄的用戶名,例如:
>>> import os
>>> os.getlogin()
'Administrator'
os.cpu_count()
獲得當(dāng)前系統(tǒng)的虛擬CPU數(shù)量(核心數(shù)),例如:文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-438187.html
>>> import os
>>> os.cpu_count()
4
os.urandom(n)
產(chǎn)生n個(gè)字節(jié)長(zhǎng)度的隨機(jī)字符串,通常用于加解密運(yùn)算,由于默寫字符串不能夠被打印出來(lái),所以輸出采用16進(jìn)制表示,例如:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-438187.html
>>> import os
>>> os.urandom(10)
b'\xf6yzR\x0fI\xd3\x96\xee\x86'
到了這里,關(guān)于Python中的交互庫(kù)-os庫(kù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!