os庫的介紹
- os庫是一個跟操作系統相關的庫,它向用戶提供基本的、通用的操作系統交互功能。它是Python的標準庫,裏面包含了幾百個函數。使用它可以處理包括常用路徑操作、進程管理、環境參數設置等幾類功能。
路徑操作
:利用其中的path子庫,處理文件路徑及信息。進程管理
:啓動系統中其它程序。環境參數
:獲得系統軟硬件信息等環境參數。
其實這個庫非常的實用,不過對於它沒有什麼難以理解的地方,我們主要就是調用庫中的那些函數來方便我們控制程序,因此只需要將這個庫中的常用函數做一個總結,多上手操作就能熟練掌握並能極大提高我們的工作效率。下面將給出一些常用的函數。
路徑操作
os庫使用一個path子庫來進行路徑操作,導入方法有兩種:
import os.path
import os.path as op
下面列出常用函數名稱及作用,其中每個函數的前綴均爲os.path
或op
,而所有的參數path
均爲文件的路徑或者包含文件路徑及名稱的字符串。
函數名稱 | 作用 |
---|---|
abspath(path) | 返回path在當前系統中的絕對路徑 |
normpath(path) | 歸一化path的表示形式,同一用\\ 分隔路徑 |
relpath(path) | 返回當前程序與文件之間的相對路徑 |
dirname(path) | 返回path中的目錄名稱 |
basename(path) | 返回path中最後的文件名稱 |
join(path,*paths) | 組合path和paths,返回一個符合路徑特點的路徑字符串 |
exists(path) | 判斷path對應文件或者目錄是否存在,存在返回Ture,不存在返回False |
isfile(path) | 判斷path對應的對象是否爲已存在的文件 ,存在返回Ture,不存在返回False(運行中並不去嘗試打開該文件) |
isdir(path) | 判斷path所對應的對象是否爲已存在的目錄 ,存在返回True,不存在返回False(同上) |
getatime(path) | 返回path對應文件或者目錄上一次的訪問 時間(返回系統內置時間字符串) |
getmtime(path) | 返回path對應文件或目錄最近一次的修改 時間(同上) |
getctime(path) | 返回path對應文件或目錄創建 時間(同上) |
getsize(path) | 返回path對應文件的大小,以字節爲單位 |
部分相關示例如下:
>>> import os.path
>>> os.path.normpath('D://練習專用//excise.py')
'D:\\練習專用\\excise.py'
>>>os.path.dirname('D://練習專用//excise.py')
'D://練習專用'
>>>os.path.dirname('D://練習專用//excise.py')
'excise.py'
>>>os.path.join('D://','練習專用//excise.py')
'D://練習專用//excise.py'
import time
>>> os.path.getctime('D://練習專用//識別結果.txt')
1581988981.5181186
>>>time.ctime(os.path.getctime('D://練習專用//識別結果.txt'))
'Tue Feb 18 09:23:01 2020'
進程管理
- 關於進程管理最常用的函數是:
os.system(command)
- 它的作用是執行程序或者命令,在Windows系統中,返回值爲cmd的調用返回信息,也就是說對它下命令就相當於在命令行中運行命令。
假如我現在想打開電腦中的網易有道詞典,在解釋器中輸入如下代碼即可:
>>> import os
>>> os.system('D:\Dict\YoudaoDict.exe')
#程序運行之後會出現命令行黑窗,之後程序被打開,在我們將程序
關閉之後解釋器返回一個0,表示程序正常運行
0
同時,也可以使用此命令控制程序打開其它文件,比如使用畫圖程序打開一張圖片,注意此時需要使目標程序與打開文件之間使用空格分離,如下:
>>> import os
>>> os.system('C:\\Windows\\System32\\mspaint.exe' 'C:\\Users\\24280\\Desktop\\me.jpg')
0
環境參數
- 環境參數指的是獲取或者改變操作系統中的環境信息,環境參數的使用可以方便的讓我們對文件進行操作,常用函數如下:
函數名稱 | 作用 |
---|---|
os.chdir(path) | 修改當前程序操作的路徑 |
os.getcwd() | 返回程序的當前路徑 |
os.getlogin() | 獲得當前系統登錄用戶名稱 |
os.cpu_count() | 獲得當前系統的CPU數量 |
os.urandom(n) | 獲得n個字節長度的隨機字符串,通常用於加解密運算 |
os.sep() | 獲得當前操作系統使用的目錄分隔符 |
os.name() | 獲得當前使用的操作系統 |
os.mkdir(path) | 建立一個子文件夾(若文件夾已存在會報錯) |
os.rmdir(path) | 刪除一個文件夾(若文件夾不存在會報錯) |
os.listdir(path=nowpath) | 當參數爲空時列出程序運行當前目錄下的所有文件目錄,當指定path時列出該path下的所有文件目錄 |
os.rename(nowname,newname) | 修改路徑(默認當前路徑)下文件的名字(需要指定格式,同時格式也可以被修改) |
os.remove(path) | 刪除文件哈哈哈 |
總結
- os庫是一個非常好用且方便的庫,一定要儘可能熟練的掌握相關函數。