能讓你解放鼠標的Python標準庫-os

os庫的介紹

  • os庫是一個跟操作系統相關的庫,它向用戶提供基本的、通用的操作系統交互功能。它是Python的標準庫,裏面包含了幾百個函數。使用它可以處理包括常用路徑操作、進程管理、環境參數設置等幾類功能。
  • 路徑操作:利用其中的path子庫,處理文件路徑及信息。
  • 進程管理:啓動系統中其它程序。
  • 環境參數:獲得系統軟硬件信息等環境參數。

其實這個庫非常的實用,不過對於它沒有什麼難以理解的地方,我們主要就是調用庫中的那些函數來方便我們控制程序,因此只需要將這個庫中的常用函數做一個總結,多上手操作就能熟練掌握並能極大提高我們的工作效率。下面將給出一些常用的函數。

路徑操作

os庫使用一個path子庫來進行路徑操作,導入方法有兩種:

import os.path

import os.path as op

下面列出常用函數名稱及作用,其中每個函數的前綴均爲os.pathop,而所有的參數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庫是一個非常好用且方便的庫,一定要儘可能熟練的掌握相關函數。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章