如何使用Python去除檔案字尾名?

霍格沃兹测试开发学社發表於2024-03-18

簡介

在Python中,我們常常需要操作檔案,包括檔案的讀取、寫入、重新命名等操作。在檔案操作中,我們經常會遇到需要去除檔案字尾的問題。那麼,Python如何去除檔案字尾呢?本文我們將介紹如何使用Python來去除檔案字尾。

去除檔案字尾名的方法

在Python中,去除檔案字尾名有多種方法,我們將介紹以下幾種方法:

  • 使用os.path.splitext()函式
  • 使用str.rsplit()方法
  • 使用str.split()方法
  • 使用正規表示式

方法1: 使用str.rsplit()方法

str.rsplit()方法允許我們從字串的右邊開始分割,並指定分割次數。我們可以使用它來去除檔案字尾名。

file_path = "example.txt"
file_name = file_path.rsplit('.', 1)[0]

print("檔名:", file_name)

# 輸出結果如下:
檔名: example

方法2: 使用str.split()方法

str.split()方法預設從左邊開始分割字串,我們可以使用它來去除檔案字尾名。

file_path = "example.txt"
file_name = file_path.split('.')[0]

print("檔名:", file_name)

# 輸出結果如下:
檔名: example

方法3: 使用正規表示式

正規表示式是一種強大的模式匹配工具,可以用於從檔案路徑中提取檔名。

import re

file_path = "example.txt"
file_name = re.sub(r'\.\w+', '', file_path)

print("檔名:", file_name)

# 輸出結果如下:
檔名: example

方法4: 使用os.path.splitext()函式

os.path.splitext()函式是Python的os模組提供的一種方便的方法,可以將檔案路徑分割成檔名和檔案字尾。我們可以使用這個函式來去除檔案字尾名。

import os

file_path = "example.txt"
file_name, file_extension = os.path.splitext(file_path)

print("檔名:", file_name)

# 輸出結果如下:
檔名: example

在上面的程式碼中,我們使用os.path.splitext()函式來獲取檔名和檔案字尾,其中os.path.splitext()函式將檔名和檔案字尾以元組的形式返回,我們將其分別賦值給變數nameext,最後輸出變數name,實現了去除檔案字尾的操作。

注:如果檔名中包含多個‘.’,那麼os.path.splitext()函式只會獲取最後一個‘.’後面的內容作為檔案字尾,如下:

import os

filename = 'example.tar.gz'

name, ext = os.path.splitext(filename)

print(name)

-----------
# 輸出結果為:
example.tar

總結

在Python中,去除檔案字尾名可以使用多種方法,包括os.path.splitext()函式、str.rsplit()方法、str.split()方法和正規表示式。選擇其中一種方法取決於你的需求和程式碼風格。這些方法都可以輕鬆地幫助你提取檔名並去除字尾。

相關文章