最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python獲取文件夾下的所有文件路徑小結

 更新時間:2023年10月07日 11:19:33   作者:程序員小麥  
在Python編程過程中,需要獲取某一個文件目錄下的所有文件,或獲取文件目錄下的所有指定后綴名的文件等,本文主要介紹了Python獲取文件夾下的所有文件路徑,感興趣的可以了解一下

在Python編程過程中,我們常常有這樣的需求,需要獲取某一個文件目錄下的所有文件,或獲取文件目錄下的所有指定后綴名的文件,亦或要求獲取該文件所在的文件夾,還有可能需要替換文件名,刪除文件夾。針對這些問題,本文系統(tǒng)總結了這些方法,以供大家參考。

本實例的文件夾放置在桌面,路徑為:C:\Users\Smile\Desktop\周匯報,該文件夾下有個子文件夾,子文件夾有一個pdf文件。

1、獲取文件夾下的所有文件路徑

這里推薦使用os模塊下的listdir方法,該方法可以獲取該文件夾下的所有文件名稱(包含子文件夾名稱),之后配合os.path.join方法來獲取該文件夾下的所有文件路徑。

import os
dir_path = r'C:\Users\Smile\Desktop\周匯報'
file_ls = os.listdir(dir_path)  #獲取所有文件名稱
file_ls

運行結果如下:

我們可以發(fā)現(xiàn),結果不僅包括了文件名,還包括了子文件夾名。

獲取完整路徑,在上面基礎上使用1行代碼即可:

file_ls = [os.path.join(dir_path, file) for file in file_ls]
file_ls

如上圖可以發(fā)現(xiàn)獲取了指定文件夾下的所有文件路徑,還包括了子文件夾路徑。但是如果我們想要連帶獲取子文件夾下的文件名該如何操作?

解決方案就是通過os.walk方法進行。它返回3個參數(shù)——根目錄、根目錄下的所有文件、根目錄下的子文件夾。它的神奇之處在于獲取根目錄子文件夾后會繼續(xù)循環(huán),依次取出根目錄下子文件夾下的文件。

path = r'C:\Users\Smile\Desktop\周匯報'
for root, dirs, files in os.walk(path):
    print(root)

運行的結果為:

C:\Users\Smile\Desktop\周匯報
C:\Users\Smile\Desktop\周匯報\數(shù)據(jù)

可以發(fā)現(xiàn)在實驗中循環(huán)了兩次,這里指定輸出當前循環(huán)的根目錄,第一次循環(huán)遍歷了根目錄下的文件,由于該根目錄下存在子文件夾,所以又循環(huán)了一次以獲取子文件夾下的文件,所以第二次循環(huán)輸出的根目錄為子文件夾的位置。

對此,我們可以確定,如果在循環(huán)外面指定一個空列表。在每一次循環(huán)時將文件名與根目錄進行拼接并添加到空列表中,就可以得到根目錄下所有的文件路徑。

path = r'C:\Users\Smile\Desktop\周匯報'
file_ls = []
for root, dirs, files in os.walk(path):
    root_file_ls = [os.path.join(root, file) for file in files]
    file_ls.append(root_file_ls)
file_ls

結果如下:

結果中可以看到,位于子文件夾下的文件也被添加到文件路徑列表了。

2、獲取后綴名

這里可以使用os.path.splitext方法來分割路徑,它將路徑分為兩個部分,一個是后綴名,另一個是除后綴名之外的部分。

file = r'C:\\Users\\Smile\\Desktop\\周匯報\\第六周總結_20221024_20221030.pptx'``houzhui = os.path.splitext(file)[1]``houzhui``   ``--結果--``'.pptx'

3、獲取指定后綴名的文件

路徑的本質(zhì)是字符串,可以使用endswith方法來判斷路徑是否以某個字符結尾?,F(xiàn)在將r’C:\Users\Smile\Desktop\周匯報’直接路徑下(不含子文件夾)的所有docx文件輸出。

path = r'C:\Users\Smile\Desktop\周匯報'
file_ls = []
for root, dirs, files in os.walk(path):
    root_file_ls = [os.path.join(root, file) for file in files]
    file_ls.append(root_file_ls)
#因為上面循環(huán)了兩次,第二次是子文件夾的文件,所以取出第1個元素
#使用endswith判斷是否以docx結尾
file_ls = [file for file in file_ls[0] if file.endswith('.docx')]
file_ls

結果如下:

可以看出已經(jīng)將所有的docx文件輸出。

4、修改文件名

使用os.rename(old_name, new_name)來進行。

例子我就不舉了,太累了~~~

不過要提醒一點,old_name和new_name都是路徑。

5、刪除/移動文件

刪除文件使用os.remove(路徑名)

移動文件需要使用shuilt庫,語法如下:

import shutil
shutil.move(old_name, new_name)

6、獲取文件所在的文件夾

使用os.path.dirname(path)即可獲取

path = r'C:\\Users\\Smile\\Desktop\\周匯報\\第001周總結_20220919_20220925.docx'
os.path.dirname(path)

--結果--
'C:\\\\Users\\\\Smile\\\\Desktop\\\\周匯報'

7、移除文件夾

1.如果使用os.remove(path),此時的文件夾必須是空文件夾,否則會報錯。

2.如果是非空文件夾,使用shutil.rmtree(path)即可成功刪除。

對于文件路徑的操作主要有:文件路徑獲取、后綴名獲取、獲取指定后綴名文件、刪除/移動文件、替換文件名、獲取文件所在的文件夾、移除文件夾。

到此這篇關于Python獲取文件夾下的所有文件路徑小結的文章就介紹到這了,更多相關Python獲取所有文件路徑內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python實現(xiàn)釘釘自動化完整指南

    Python實現(xiàn)釘釘自動化完整指南

    本文詳細介紹如何使用 Python 實現(xiàn)釘釘自動化,包括消息發(fā)送、部門管理、審批流程觸發(fā)等功能,內(nèi)容涵蓋實現(xiàn)步驟、前置條件、依賴項以及注意事項,幫助快速上手并避免常見問題,需要的朋友可以參考下
    2025-03-03
  • 基于python歷史天氣采集的分析

    基于python歷史天氣采集的分析

    今天小編就為大家分享一篇基于python歷史天氣采集的分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能示例

    Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能示例

    這篇文章主要介紹了Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能,結合實例形式分析了Django框架基于Pillow模塊的圖形驗證碼生成與使用相關操作技巧,需要的朋友可以參考下
    2019-05-05
  • python二維圖制作的實例代碼

    python二維圖制作的實例代碼

    這篇文章主要給大家介紹了關于python二維圖制作的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • python類別數(shù)據(jù)數(shù)字化LabelEncoder?VS?OneHotEncoder區(qū)別

    python類別數(shù)據(jù)數(shù)字化LabelEncoder?VS?OneHotEncoder區(qū)別

    這篇文章主要為大家介紹了機器學習:數(shù)據(jù)預處理之將類別數(shù)據(jù)數(shù)字化的方法LabelEncoder?VS?OneHotEncoder區(qū)別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 打包Python代碼的常用方法小結

    打包Python代碼的常用方法小結

    Python是一門強大的編程語言,但在將Python代碼分享給其他人時,讓他們安裝Python解釋器并運行腳本可能有點繁瑣,這時,將Python代碼打包成可執(zhí)行的應用程序(.exe)可以大大簡化這個過程,本文將介紹幾種常用的方法,輕松地將Python代碼變成獨立的可執(zhí)行文件
    2023-11-11
  • 完美解決Python2操作中文名文件亂碼的問題

    完美解決Python2操作中文名文件亂碼的問題

    下面小編就為大家?guī)硪黄昝澜鉀QPython2操作中文名文件亂碼的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • python中pyc、?pyd文件及生成使用完整實例代碼

    python中pyc、?pyd文件及生成使用完整實例代碼

    這篇文章主要介紹了python中pyc、?pyd文件及生成使用的相關資料,重點講解了如何使用Python解釋器編譯.py文件為.pyc文件,以及如何使用Cython和distutils工具將C/C++代碼編譯為.pyd文件,需要的朋友可以參考下
    2025-04-04
  • Python對列表中的各項進行關聯(lián)詳解

    Python對列表中的各項進行關聯(lián)詳解

    這篇文章主要給大家介紹了關于Python對列表中各項進行關聯(lián)的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-08-08
  • Python3基于sax解析xml操作示例

    Python3基于sax解析xml操作示例

    這篇文章主要介紹了Python3基于sax解析xml操作,結合實例形式分析了Python3使用sax解析xml文檔的相關原理與實現(xiàn)技巧,需要的朋友可以參考下
    2018-05-05

最新評論

宣城市| 调兵山市| 兰考县| 安徽省| 三河市| 黑水县| 陕西省| 鄯善县| 盖州市| 大渡口区| 内黄县| 武穴市| 漯河市| 巨野县| 通榆县| 麻栗坡县| 万源市| 沅陵县| 普安县| 淮安市| 搜索| 大悟县| 万全县| 峨山| 都昌县| 肃宁县| 阿克苏市| 阳泉市| 仙居县| 高碑店市| 江门市| 比如县| 宜昌市| 彭阳县| 宁陵县| 南阳市| 桐乡市| 灌南县| 锡林郭勒盟| 佛学| 福安市|