国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Python】獲取指定目錄下的文件夾和文件

這篇具有很好參考價值的文章主要介紹了【Python】獲取指定目錄下的文件夾和文件。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【Python】獲取指定目錄下的文件夾和文件

1. 介紹

我們經(jīng)常會有對文件做批量處理的需求,獲取指定目錄下的文件夾和文件(有時需要獲取所有文件,即子目錄下的文件也需要獲取)。Python 中掃描目錄有兩種方法:

  • os.listdir()
  • os.walk()

2. 舉例說明

建立項目框架如下:

python讀取指定路徑文件,# Python,使用說明,python,開發(fā)語言
其中,

  • test:項目文件夾名稱,含有 aa子文件夾main.py
    • aa:文件夾,含有 bb子文件夾 、cc子文件夾 以及 一個 dd.txt文件
      • bb:文件夾,含有一個 txt 文件
        • ff.txt:txt文件
      • cc:空文件夾
      • dd.txt:txt文件夾
    • main.py:進行代碼舉例使用

2.1 os.listdir()

os.listdir() 方法用于返回指定的目錄下包含的文件或子目錄的名字的列表。

  • 這個列表以字母順序。其得到的是僅當(dāng)前路徑下的文件名,不包括子目錄中的文件;
  • 如果需要得到所有文件需要遞歸。 它也不包括 ‘.’ 和 ‘…’ 即使它在目錄中。
2.1.1 API
import os
os.listdir(path)
2.1.2 main.py 代碼如下,時
import os

def list_dir(file_dir):
    '''
        通過 listdir 得到的是僅當(dāng)前路徑下的文件名,不包括子目錄中的文件,如果需要得到所有文件需要遞歸
    '''
    dir_list = os.listdir(file_dir)
    result_list = []
    for cur_file in dir_list:
        # 獲取文件的絕對路徑
        path = os.path.join(file_dir, cur_file)
        if os.path.isfile(path): # 判斷是否是文件還是目錄需要用絕對路徑
            result_list.append(path)
        if os.path.isdir(path):
            result_list += list_dir(path) # 遞歸子目錄
    return result_list

path = 'aa'
list1 = os.listdir(path)
list2 = list_dir(path)

print(list1)
print(list2)

輸出如下:

list1: ['bb', 'cc', 'dd.txt', 'ee.jpg']
list2: ['aa/bb/ff.txt', 'aa/dd.txt', 'aa/ee.jpg']

2.2 os.walk()

os.walk() 方法用于通過在目錄樹中游走輸出在目錄中的文件名,向上或者向下。是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。

2.2.1 API
import os
os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])

方法參數(shù)說明

  • top:要遍歷的目錄的路徑
  • topdown:可選,如果為 True,則優(yōu)先遍歷 top 目錄,以及 top 目錄下的每一個子目錄,否則優(yōu)先遍歷 top 的子目錄,默認(rèn)為 True
  • onerror: 可選, 需要一個 callable 對象,當(dāng) walk 異常時調(diào)用
  • followlinks:可選, 如果為 True,則會遍歷目錄下的快捷方式(linux 下是 symbolic link)實際所指的目錄,默認(rèn)為 False
  • args:包含那些沒有 ‘-’ 或 ‘–’ 的參數(shù)列表

返回值: 三元組 (root, dirs, files)

  • root :所指的是當(dāng)前正在遍歷的目錄的地址
  • dirs :當(dāng)前文件夾中所有目錄名字的 list (不包括子目錄)
  • files :當(dāng)前文件夾中所有的文件 (不包括子目錄中的文件)
2.2.2 main.py 代碼如下,時
import os

path = 'aa'
a, b, c = os.walk(path)

print(a)
print(b)
print(c)

輸出如下:

a: ('aa', ['bb', 'cc'], ['dd.txt', 'ee.jpg'])
b: ('aa/bb', [], ['ff.txt'])
c: ('aa/cc', [], [])
2.2.3 main.py 代碼如下,時
import os
path = 'aa'
for root, dirs, files in os.walk(path):
    for name in files:
        print(os.path.join(root, name))
    for name in dirs:
        print(os.path.join(root, name))

輸出如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-582254.html

aa/dd.txt
aa/ee.jpg
aa/nn
aa/bb
aa/cc
aa/bb/ff.txt

3. 其他常用方法

  • os.path.splitext():分離文件名和擴展名
import os
file = "file_test.txt"
file_name = os.path.splitext(file)[0] # 輸出:file_test
file_suffix = os.path.splitext(file)[1] # 輸出:.txt
  • os.path.exists():判斷文件或目錄是否存在
  • os.path.isfile():判斷是否是文件
  • os.path.isdir():判斷是否是目錄
  • os.path.dirname():獲取當(dāng)前文件所在的目錄,即父目錄
  • os.makedirs():創(chuàng)建多級目錄
  • os.mkdir():創(chuàng)建單級目錄
  • os.path.getsize():獲取文件大小

到了這里,關(guān)于【Python】獲取指定目錄下的文件夾和文件的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • python中針對同一目錄或不同目錄下的其他文件或文件夾的import用法

    在Python中, import 用于導(dǎo)入其他文件或模塊的內(nèi)容,讓你可以在當(dāng)前文件中使用這些內(nèi)容。下面我將介紹如何使用 import 來導(dǎo)入同一目錄或不同目錄下的文件或文件夾。 1. 導(dǎo)入同一目錄下的文件或模塊: 如果你要導(dǎo)入與當(dāng)前文件位于同一目錄下的文件或模塊,可以直接

    2024年02月14日
    瀏覽(27)
  • Java獲取指定文件夾下目錄下所有視頻并復(fù)制到另一個地方
  • Unity Android 之 讀取下載獲取移動端 sdcard 路徑下的指定文件夾的所有圖片的幾種方式的簡單整理

    Unity Android 之 讀取下載獲取移動端 sdcard 路徑下的指定文件夾的所有圖片的幾種方式的簡單整理

    目錄 Unity Android 之 讀取下載獲取移動端 sdcard 路徑下的指定文件夾的所有圖片的幾種方式的簡單整理 一、簡單介紹 二、實現(xiàn)原理 三、注意事項 四、簡單實現(xiàn)步驟 五、關(guān)鍵代碼 附錄: 一、不同平臺使用宏區(qū)分路徑加載 二、Unity3D中的資源路徑 三、Unity3D各平臺路徑(包括手

    2024年01月19日
    瀏覽(140)
  • python讀取文件夾下的文件以及子文件夾中文件

    os.listdir() 讀取目標(biāo)文件夾下的文件名和子文件夾名,不會遞歸讀取子文件夾下 方法一: root, dirs, files = os.walk() 遞歸讀取文件夾和 子文件夾下所有文件 。方法二:也可以用os.listdir(),判斷是文件夾再os.listdir()自己寫一個遞歸程序 示例

    2024年02月16日
    瀏覽(90)
  • Python-拷貝文件和文件夾到指定的文件夾

    之前使用windows批處理命令,感覺語法太不友好,還需要傳很多參數(shù),用起來很麻煩,最后還是用Python來實現(xiàn)。 網(wǎng)上太多的教程,真的不知所云,有點太麻煩了,拷貝之前先刪除,也懶得判斷。 shutil.copyfile 顧名思義 拷貝的是文件 shutil.copytree 顧名思義 拷貝的是文件夾 這樣使

    2024年02月11日
    瀏覽(23)
  • python 讀取文件夾下子文件夾下的csv數(shù)據(jù)表

    可以使用 Python 中的? os ?和? csv ?模塊來讀取文件夾下的文件夾的 csv 數(shù)據(jù)。具體的步驟如下: 導(dǎo)入? os ?和? csv ?模塊。 使用? os ?模塊的? listdir ?函數(shù)列舉出目標(biāo)文件夾下的所有子文件夾的名稱。 對于每個子文件夾,列舉出其中的所有 .csv 文件的名稱,并逐一讀取 csv

    2024年02月11日
    瀏覽(91)
  • python跨文件夾調(diào)用別的文件夾下的py文件或參數(shù)方式

    python跨文件夾調(diào)用別的文件夾下的py文件或參數(shù)方式

    目錄 摘要: 第一章? ?運行另一個py文件 (1)在file_A.py中運行file_B.py文件,注意這里是運行,不是引用 (2)file_B.py使用file_A.py傳遞的參數(shù) (3) 引用另一個py文件中的變量或者方法 第二章?python調(diào)用自己寫的py文件 (1)同一個目錄下的文件 (2)不同目錄下的文件 (3)多

    2024年02月08日
    瀏覽(95)
  • Python如何引用其他文件夾下的py文件

    Python引用其他模塊的函數(shù)使用的語法是: from 模塊名 import 函數(shù)名 如果將my_abs()函數(shù)定義保存為abstest.py文件,那么在該文件所在目錄下,啟動解釋器,輸入from abstest import my_abs,就可以執(zhí)行my_abs函數(shù)。 那么,如何引用其他文件夾下的py文件 若要引用的包與文件不在同一個文件夾

    2024年02月16日
    瀏覽(93)
  • cp命令 復(fù)制多個目錄/文件夾下文件到指定目錄

    可以使用cp命令的通配符和遞歸選項來復(fù)制多個目錄下多個文件夾下的文件到指定目錄。 如果目標(biāo)目錄不存在,可以使用 mkdir -p命令來創(chuàng)建目錄。 -p 選項表示遞歸創(chuàng)建目錄,如果目錄已經(jīng)存在,則不會報錯。 例如,以下命令會復(fù)制 /path/to/dir1和 /path/to/dir2 下的所有子目錄中的

    2024年02月12日
    瀏覽(100)
  • python遍歷目錄(文件夾)os.walk

    python遍歷目錄(文件夾)os.walk

    打印:

    2024年02月08日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包