Python科研武器庫 - 字串操作 - 路徑字串分割 os.path.split()、os.path.splitext()

樱桃的python武器库發表於2024-07-28

使用場景:
科研中批次處理資料時的,檔案路徑分割以及檔案格式判斷
對於檔案格式判斷,是因為實際檔案的格式多種多樣,就拿影像為例,就有.png .jpg .bmp等等。
更不用說,有時候還有一些干擾檔案需要遮蔽(比如Mac系統的.DS_Store檔案)。
這就需要我們判斷檔案格式,再對特定格式的檔案進行操作

使用函式:

  1. 檔案路徑分割
    os.path.split()
    用於將路徑拆分為頭部和尾部。尾部是路徑的最後一個組成部分,而頭部是指“尾部”部分前的所有內容。
    這裡需注意,檔案路徑的os.path.split(),與字串的split()有所不同,
    字串split()的用法詳見我另一篇部落格:
  2. 檔案格式判斷
    os.path.splitext()
    用於將路徑名拆分為root和ext。其中,ext代表副檔名(extension),表示指定路徑(檔案)的副檔名部分,而root是除ext部分之外的所有內容。
    若指定路徑中不包括任何副檔名,則ext為空。如果指定路徑以句點 (.) 開頭,則會被忽略。

程式碼示例:

import os
 
path = '/home/Lingdu/Desktop/lingdu.txt'
 
head_tail = os.path.split(path)
 
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1], "\n")
 
path = '/home/Lingdu/Desktop/'
 
head_tail = os.path.split(path)
 
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1], "\n")
 
path = 'lingdu.txt'

head_tail = os.path.split(path)
 
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1])

執行效果:

Head of '/home/Lingdu/Desktop/lingdu.txt:' /home/Lingdu/Desktop
Tail of '/home/Lingdu/Desktop/lingdu.txt:' lingdu.txt 

Head of '/home/Lingdu/Desktop/:' /home/Lingdu/Desktop
Tail of '/home/Lingdu/Desktop/:'  

Head of 'lingdu.txt:' 
Tail of 'lingdu.txt:' lingdu.txt

程式碼示例:

import os 
  
path = '/home/Lingdu/Desktop/lingdu.txt'
  
root_ext = os.path.splitext(path) 
  
print("Root part of '% s':" % path, root_ext[0]) 
print("Ext part of '% s':" % path, root_ext[1], "\n") 
  
path = './home/Lingdu/Desktop/'
  
root_ext = os.path.splitext(path) 
  
print("Root part of '% s':" % path, root_ext[0]) 
print("Ext part of '% s':" % path, root_ext[1]) 

執行效果:

Root part of '/home/Lingdu/Desktop/lingdu.txt': /home/Lingdu/Desktop/lingdu
Ext part of '/home/Lingdu/Desktop/lingdu.txt': .txt 

Root part of './home/Lingdu/Desktop/': ./home/Lingdu/Desktop/
Ext part of './home/Lingdu/Desktop/': 

相關文章