Python內建模組OS如何打造SHELL端檔案處理器

2022-10-11 18:01:17
本篇文章給大家帶來了關於Python的相關知識,其中主要介紹了關於內建模組OS如何打造SHELL端檔案處理器的相關內容,下面一起來看一下,希望對大家有幫助。

程式設計師必備介面測試偵錯工具:

【相關推薦:Python3視訊教學

OS 模組

在講解包模組時我們提到通過 sys 模組進行檢視全域性包路徑檢視於註冊,今天我們嘗試瞭解下OS模組,這個模組主要作用就是打通程式於系統之間的通訊。

通過 help('modules') 我們能夠發現 OS 是作為python的內建模組出現的。

29.png

帶path

判斷檔案

 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'))
登入後複製

獲取路徑及檔案

30.png

之前在操作 Java 時經常需要獲取檔案所在目錄,當時都是通過Java物件屬性獲取的,而 Python 中自動幫我們處理了。

獲取絕對路徑

不知道你有沒有注意到上面我們獲取指令碼所在目錄時通過 ../os 等方式,包括獲取路徑及檔案章節中我們手動敲出來檔案的完整路徑,實際上通過python自帶了。

 import os
 print(os.path.abspath('practice.py'))
登入後複製

31.png

返回檔名

 import os
 print(os.path.basename('practice.py'))
登入後複製

32.png

獲取檔案路徑

33.png

僅限我們傳入了全路徑的檔案 dirname 才起作用,這個感覺有點雞肋

路徑拼接

我們經常會出現路徑地址的拼接。windows , linux 檔案分隔符不一樣,Java 中給我們提供了一個獲取分隔符的變數,但是python 直接忽略掉分隔符了,直接給我們提供一個拼接的方法。

 import os 
 print(os.path.join('parent','child'))
登入後複製

34.png

不帶path

獲取平臺

有的時候我們需要根據不同平臺來執行不同的操縱,這個時候就需要獲取到平臺資訊了。

 import os
 print(os.name)
登入後複製

35.png

獲取所有檔案

既然是模組肯定少不了我們常用的功能,之前提到過了我們經常在伺服器上執行 ls -al .

 import os 
 print(os.listdir)
登入後複製

36.png

當前工作路徑

很多時候我們不回直接在指令碼路徑執行指令碼,往往都是通過絕對路徑或者相對路徑來執行指令碼,有的時候指令碼會依賴執行路徑上的某些檔案,所以獲取執行指令碼路徑至關重要。

37.png

目錄操作

關於檔案目錄新建刪除相信也很重要吧。下面我們來看看如何操作。

 import os 
 os.mkdir('test')
 print(os.getcwd()+'工作下的檔案列表'+os.listdir())
 os.rmdir('test')
登入後複製

38.png

重新命名檔案

 import os 
 os.rename(old,new)
登入後複製

檔案屬性

39.png

我們能夠看到列印了很多屬性。

40.png

41.png

修改許可權殺死程序

 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其它相關文章!