使用Python的walk print遍歷文件夾並打印文件內容

一、Python的os module

在Python中,我們可以使用os module訪問文件和文件夾。os module提供了各種功能,包括文件和目錄操作、進程管理、環境變量等。

要讀取文件夾中的所有文件,我們可以使用os.walk()方法,該方法生成文件夾中所有文件的文件名(包括子文件夾)。

import os

for root, dirs, files in os.walk("."):
    for filename in files:
        print(os.path.join(root, filename))

這個代碼片段將遍歷當前目錄(”.”)以及所有子目錄,並打印出每個文件的全路徑。os.walk()方法返回一個元組,其中包含當前目錄的路徑、當前目錄中子目錄的名稱以及當前目錄中文件的名稱。

二、打印文件內容

如果我們想要打印文件的內容,我們需要使用Python中的open()方法打開文件,並使用read()方法讀取文件的內容。

import os

for root, dirs, files in os.walk("."):
    for filename in files:
        with open(os.path.join(root, filename)) as f:
            print(f.read())

這個代碼段將遍歷當前目錄以及所有子目錄,打印每個文件的內容。

三、過濾文件

在大多數情況下,我們只對文件夾中的特定文件感興趣。為了過濾文件,我們可以使用Python的字符串方法。

import os

for root, dirs, files in os.walk("."):
    for filename in files:
        if filename.endswith(".txt"):
            with open(os.path.join(root, filename)) as f:
                print(f.read())

這個代碼段將只打印擴展名為”.txt”的文件的內容。

四、輸出到文件

有時,我們可能需要將打印的結果保存到文件中。為此,我們可以使用Python的文件對象。

import os

with open("output.txt", "w") as out_file:
    for root, dirs, files in os.walk("."):
        for filename in files:
            if filename.endswith(".txt"):
                with open(os.path.join(root, filename)) as f:
                    out_file.write(f.read())

這個代碼段將遍歷所有擴展名為”.txt”的文件,並將它們的內容寫入名為”output.txt”的文件中。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/246296.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:14
下一篇 2024-12-12 13:14

相關推薦

發表回復

登錄後才能評論