首頁 後端開發 Python教學 如何有效地遞歸讀取Python資料夾中的文件

如何有效地遞歸讀取Python資料夾中的文件

Oct 18, 2024 pm 02:38 PM

How to Effectively Read Files Recursively in Python Folders

Python:解決遞歸資料夾讀取

作為一名嘗試Python 的初學者,可能會遇到遞歸中文本文件的挑戰等級制度。網路上流傳的一個程式碼片段解決了這個問題,但其限制在於無法深入研究單一資料夾。本指南深入研究了 Python 的 os.walk 函數,並介紹了 os.path.join 來有效地遞歸遍歷並輸出資料夾結構的內容。

理解 os.walk

上述程式碼中所採用的核心機制是Python的os.walk函數。它會傳回三個不同的值:根目錄、子目錄和檔案。 root 表示目前正在檢查的目錄,subdirs 列出了根目錄中的子目錄,files 列舉了根目錄中存在的非目錄檔案。

解決循環問題

原始程式碼的當嘗試遍歷多層資料夾時,循環迭代會失敗。若要解決此問題,應將其修改為循環遍歷目前根目錄中的子目錄及其各自的檔案。

應用 os.path.join

此問題源自於檔案路徑的不正確連接。 os.path.join 透過將目前根目錄與檔案名稱連接來確保準確的路徑操作。

增強的程式碼

精煉的Python 腳本包含以下增強功能:

1

2

3

4

5

6

7

8

9

10

11

12

13

<code class="python">import os

import sys

 

walk_dir = sys.argv[1]

 

for root, subdirs, files in os.walk(walk_dir):

    list_file_path = os.path.join(root, 'my-directory-list.txt')

    with open(list_file_path, 'wb') as list_file:

        for subdir in subdirs:

            list_file.write(('Subdirectory: {}\n'.format(subdir)).encode('utf-8'))

        for filename in files:

            file_path = os.path.join(root, filename)

            list_file.write(('File: {} (full path: {})\n'.format(filename, file_path)).encode('utf-8'))</code>

登入後複製

利用「語句

利用「語句

with 語句提供了一種方便且有效率的處理文件操作的方法,並確保正確的資源管理。它簡化了流程,確保文件在完成後自動關閉。

結論

本擴展指南詳細闡述了最初的問題,提供了對 os.walk 的全面理解和 os.path.join。增強的程式碼包含了這些概念,可實現高效、準確的遞歸資料夾讀取,使 Python 使用者能夠有效地遍歷複雜的目錄結構。

以上是如何有效地遞歸讀取Python資料夾中的文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何使用Python查找文本文件的ZIPF分佈 如何使用Python查找文本文件的ZIPF分佈 Mar 05, 2025 am 09:58 AM

如何使用Python查找文本文件的ZIPF分佈

我如何使用美麗的湯來解析HTML? 我如何使用美麗的湯來解析HTML? Mar 10, 2025 pm 06:54 PM

我如何使用美麗的湯來解析HTML?

python中的圖像過濾 python中的圖像過濾 Mar 03, 2025 am 09:44 AM

python中的圖像過濾

如何使用TensorFlow或Pytorch進行深度學習? 如何使用TensorFlow或Pytorch進行深度學習? Mar 10, 2025 pm 06:52 PM

如何使用TensorFlow或Pytorch進行深度學習?

如何在Python中實現自己的數據結構 如何在Python中實現自己的數據結構 Mar 03, 2025 am 09:28 AM

如何在Python中實現自己的數據結構

Python中的平行和並發編程簡介 Python中的平行和並發編程簡介 Mar 03, 2025 am 10:32 AM

Python中的平行和並發編程簡介

python對象的序列化和避難所化:第1部分 python對象的序列化和避難所化:第1部分 Mar 08, 2025 am 09:39 AM

python對象的序列化和避難所化:第1部分

Python中的數學模塊:統計 Python中的數學模塊:統計 Mar 09, 2025 am 11:40 AM

Python中的數學模塊:統計

See all articles