亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實(shí)用技巧之如何獲取后綴名(擴(kuò)展名)或文件名

 更新時(shí)間:2024年12月31日 10:14:01   作者:高斯小哥  
這篇文章主要介紹了在Python中獲取文件名和擴(kuò)展名的幾種方法,包括使用os.path.basename()函數(shù)獲取文件名,以及使用os.path.splitext()函數(shù)獲取文件名和擴(kuò)展名,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、引言 

在日常編程中,我們經(jīng)常需要處理文件,包括讀取、寫(xiě)入、移動(dòng)、復(fù)制等操作。而在這些操作中,獲取文件的擴(kuò)展名(后綴名)或文件名是一個(gè)常見(jiàn)的需求。Python提供了多種方法來(lái)實(shí)現(xiàn)這一需求,本文將詳細(xì)介紹其中的幾種方法,并通過(guò)實(shí)戰(zhàn)案例來(lái)加深理解。

二、獲取文件名 

在Python中,獲取文件名通常使用os.path.basename()函數(shù)。這個(gè)函數(shù)接受一個(gè)文件路徑作為參數(shù),并返回該文件的基本名稱,即最后一個(gè)路徑分隔符后面的部分。

下面是一個(gè)簡(jiǎn)單的示例:

import os

# 定義一個(gè)文件路徑
file_path = "/home/user/documents/example.txt"

# 使用os.path.basename()獲取文件名
file_name = os.path.basename(file_path)

print(file_name)  # 輸出: example.txt

??注意os.path.basename()函數(shù)僅返回文件名,不包括路徑或擴(kuò)展名。

三、獲取文件擴(kuò)展名 

在Python中,獲取文件擴(kuò)展名通常使用os.path.splitext()函數(shù)。這個(gè)函數(shù)接受一個(gè)文件路徑作為參數(shù),并返回一個(gè)元組,其中第一個(gè)元素是文件的基本名稱(不包括擴(kuò)展名),第二個(gè)元素是文件的擴(kuò)展名(包括點(diǎn)號(hào))。

下面是一個(gè)簡(jiǎn)單的示例:

import os

# 定義一個(gè)文件路徑
file_path = "/home/user/documents/example.txt"

# 使用os.path.splitext()獲取文件名和擴(kuò)展名
file_name, file_extension = os.path.splitext(file_path)

print("文件名:", file_name)  # 輸出: 文件名: /home/user/documents/example
print("擴(kuò)展名:", file_extension)  # 輸出: 擴(kuò)展名: .txt

??注意os.path.splitext()函數(shù)返回的擴(kuò)展名包括點(diǎn)號(hào)(.)。如果你想要去掉點(diǎn)號(hào),可以通過(guò)字符串切片操作來(lái)實(shí)現(xiàn):

file_extension = file_extension[1:]  # 去掉點(diǎn)號(hào)
print("去掉點(diǎn)號(hào)的擴(kuò)展名:", file_extension)  # 輸出: 去掉點(diǎn)號(hào)的擴(kuò)展名: txt

四、實(shí)戰(zhàn)案例

現(xiàn)在,我們來(lái)看一個(gè)實(shí)戰(zhàn)案例,演示如何在實(shí)際編程中運(yùn)用獲取文件名和擴(kuò)展名的知識(shí)。假設(shè)我們有一個(gè)文件夾,里面包含了多個(gè)文件,我們需要遍歷這個(gè)文件夾,打印出每個(gè)文件的文件名和擴(kuò)展名。

import os

# 定義一個(gè)文件夾路徑
folder_path = "/home/user/documents"

# 遍歷文件夾中的文件
for file_name in os.listdir(folder_path):
    # 拼接文件的完整路徑
    file_path = os.path.join(folder_path, file_name)
    
    # 判斷是否為文件(排除文件夾)
    if os.path.isfile(file_path):
        # 使用os.path.splitext()獲取文件名和擴(kuò)展名
        file_base_name, file_ext = os.path.splitext(file_name)
        
        # 打印文件名和擴(kuò)展名
        print(f"文件名: {file_base_name}, 擴(kuò)展名: {file_ext[1:]}")

這個(gè)示例代碼會(huì)遍歷指定文件夾中的所有文件,并打印出每個(gè)文件的文件名和擴(kuò)展名。

??注意: 我們?cè)诖蛴U(kuò)展名時(shí)使用了字符串切片操作來(lái)去掉點(diǎn)號(hào)。

五、總結(jié)

本文介紹了在Python中獲取文件名和擴(kuò)展名的幾種方法,包括使用os.path.basename()函數(shù)獲取文件名,以及使用os.path.splitext()函數(shù)獲取文件名和擴(kuò)展名。通過(guò)實(shí)戰(zhàn)案例的演示,我們了解了如何在實(shí)際編程中運(yùn)用這些知識(shí)。希望本文能夠幫助你更好地處理文件相關(guān)的編程任務(wù)!

附:python獲取指定文件夾下所有指定后綴文件列表

import os
# 獲取指定路徑下所有指定后綴的文件
# dir 指定路徑
# ext 指定后綴,鏈表&不需要帶點(diǎn) 或者不指定。例子:['xml', 'java']
def GetFileFromThisRootDirV2(target_dir, target_suffix="pxy"):
    find_res = []
    target_suffix_dot = "." + target_suffix
    walk_generator = os.walk(target_dir)
    for root_path, dirs, files in walk_generator:
        if len(files) < 1:
            continue
        for file in files:
            file_name, suffix_name = os.path.splitext(file)
            if suffix_name == target_suffix_dot:
                find_res.append(os.path.join(root_path, file))
    return find_res
    
LogList = GetFileFromThisRootDirV2("D:/temp", "log")

到此這篇關(guān)于Python實(shí)用技巧之如何獲取后綴名(擴(kuò)展名)或文件名的文章就介紹到這了,更多相關(guān)Python獲取后綴名或文件名內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python3之讀取redis數(shù)據(jù)帶有‘b’的問(wèn)題

    python3之讀取redis數(shù)據(jù)帶有‘b’的問(wèn)題

    這篇文章主要介紹了python3之讀取redis數(shù)據(jù)帶有‘b’的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python+Yolov5人臉口罩識(shí)別的詳細(xì)步驟

    Python+Yolov5人臉口罩識(shí)別的詳細(xì)步驟

    人臉口罩佩戴檢測(cè)(識(shí)別)是當(dāng)前急需的應(yīng)用,而YOLOv5是目前流行的強(qiáng)悍的目標(biāo)檢測(cè)技術(shù),下面這篇文章主要給大家介紹了關(guān)于Python+Yolov5人臉口罩識(shí)別的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • 在mac下查找python包存放路徑site-packages的實(shí)現(xiàn)方法

    在mac下查找python包存放路徑site-packages的實(shí)現(xiàn)方法

    今天小編就為大家分享一篇在mac下查找python包存放路徑site-packages的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Pandas中八個(gè)常用option設(shè)置的示例詳解

    Pandas中八個(gè)常用option設(shè)置的示例詳解

    通過(guò)pandas的使用,我們經(jīng)常要交互式地展示表格(dataframe)、分析表格。本文整理了8個(gè)常用的配置選項(xiàng),使用可以提高很多效率,需要的可以參考一下
    2022-06-06
  • Python文字截圖識(shí)別OCR工具實(shí)例解析

    Python文字截圖識(shí)別OCR工具實(shí)例解析

    這篇文章主要介紹了Python文字截圖識(shí)別OCR工具實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python圖片縮放cv2.resize()圖文詳解

    Python圖片縮放cv2.resize()圖文詳解

    這篇文章主要給大家介紹了關(guān)于Python圖片縮放cv2.resize()的相關(guān)資料, resize是opencv庫(kù)中的一個(gè)函數(shù),主要起到對(duì)圖片進(jìn)行縮放的作用,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-10-10
  • Python如何實(shí)現(xiàn)伽馬矯正

    Python如何實(shí)現(xiàn)伽馬矯正

    這篇文章主要介紹了Python如何實(shí)現(xiàn)伽馬矯正問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • Python基于socket實(shí)現(xiàn)TCP客戶端和服務(wù)端

    Python基于socket實(shí)現(xiàn)TCP客戶端和服務(wù)端

    這篇文章主要介紹了Python基于socket實(shí)現(xiàn)的TCP客戶端和服務(wù)端,以及socket實(shí)現(xiàn)的多任務(wù)版TCP服務(wù)端,下面相關(guān)操作需要的小伙伴可以參考一下
    2022-04-04
  • Python視頻處理之噪聲矩陣與并行計(jì)算

    Python視頻處理之噪聲矩陣與并行計(jì)算

    這篇文章主要為大家詳細(xì)介紹了Python視頻處理中噪聲矩陣與并行計(jì)算的完美融合,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • 使用python的pandas讀取excel文件中的數(shù)據(jù)詳情

    使用python的pandas讀取excel文件中的數(shù)據(jù)詳情

    這篇文章主要介紹了使用python的pandas讀取excel文件中的數(shù)據(jù)詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09

最新評(píng)論