程式設計師必備介面測試偵錯工具:
【相關推薦:Python3視訊教學 】
在講解包模組時我們提到通過 sys 模組進行檢視全域性包路徑檢視於註冊,今天我們嘗試瞭解下OS模組,這個模組主要作用就是打通程式於系統之間的通訊。
通過 help('modules') 我們能夠發現 OS 是作為python的內建模組出現的。
判斷檔案
import os
print(os.path.isfile('demo.txt'))
登入後複製
如果是檔案則返回 True 否則返回 False 。
判斷資料夾
import os
print(os.path.isdir('../os'))
登入後複製
其中引數我們傳遞一個路徑,如果是資料夾返回 True 否則返回 False。
判斷檔案是否存在
這個應該是我們經常在指令碼中使用的操作,存在我們則使用不存在則需要建立檔案填充預設內容。
import os
print(os.path.exists('ttttt.txt'))
登入後複製
同樣如果存在則返回 True 否則返回 False 。
獲取檔案大小
我們經常在伺服器上通過 ls -al 檢視檔案資訊,其中就包括檔案大小這個屬性,作為 python 內建的模組肯定也少不了相關的屬性獲取功能。
import os
print(os.path.getsize('demo.txt'))
登入後複製
之前在操作 Java 時經常需要獲取檔案所在目錄,當時都是通過Java物件屬性獲取的,而 Python 中自動幫我們處理了。
不知道你有沒有注意到上面我們獲取指令碼所在目錄時通過 ../os 等方式,包括獲取路徑及檔案章節中我們手動敲出來檔案的完整路徑,實際上通過python自帶了。
import os
print(os.path.abspath('practice.py'))
登入後複製
import os
print(os.path.basename('practice.py'))
登入後複製
僅限我們傳入了全路徑的檔案 dirname 才起作用,這個感覺有點雞肋
我們經常會出現路徑地址的拼接。windows , linux 檔案分隔符不一樣,Java 中給我們提供了一個獲取分隔符的變數,但是python 直接忽略掉分隔符了,直接給我們提供一個拼接的方法。
import os
print(os.path.join('parent','child'))
登入後複製
獲取平臺
有的時候我們需要根據不同平臺來執行不同的操縱,這個時候就需要獲取到平臺資訊了。
import os
print(os.name)
登入後複製
既然是模組肯定少不了我們常用的功能,之前提到過了我們經常在伺服器上執行 ls -al .
import os
print(os.listdir)
登入後複製
當前工作路徑
很多時候我們不回直接在指令碼路徑執行指令碼,往往都是通過絕對路徑或者相對路徑來執行指令碼,有的時候指令碼會依賴執行路徑上的某些檔案,所以獲取執行指令碼路徑至關重要。
目錄操作
關於檔案目錄新建刪除相信也很重要吧。下面我們來看看如何操作。
import os
os.mkdir('test')
print(os.getcwd()+'工作下的檔案列表'+os.listdir())
os.rmdir('test')
登入後複製
重新命名檔案
import os
os.rename(old,new)
登入後複製
檔案屬性
我們能夠看到列印了很多屬性。
修改許可權殺死程序
os.chmod(file)
os.get_terminal_size()
os.kill(10884,signal.SIGKILL)
登入後複製
打通shell
作為一個shell愛好者,我還是很喜歡使用shell 來實現的,尤其是在做系統初始化的時候這個時候沒有python ,而shell 是linux 系統自帶的,所以shell 指令碼的時候還是很有必要的,我個人也是shell+python 相互輔佐的存在。我們知道shell 中直接 python xxx.py。 但是python 如何執行shell 呢?
import os
name=os.system('ls -al')
登入後複製
上面我們提到獲取平臺資訊 os.name ,我們可以根據這個命令來通過 os.system('cmd') 指定不同系統的cmd 命令。
【相關推薦:Python3視訊教學 】
以上就是Python內建模組OS如何打造SHELL端檔案處理器的詳細內容,更多請關注TW511.COM其它相關文章!