使用Python遍歷目錄並列印目錄樹

2021-10-12 12:41:22 字數 1736 閱讀 3911

本文章將提供兩個示例,目的是展示如何使用 python 的 os 模組遍歷當前目錄下的所有檔案和子目錄,並形成類似下面簡陋的樹形輸出。

| - a

|| - c

||| - text.txt

|| - e

||| - text.txt

|| - text.txt

| - b

|| - f

||| - text.txt

|| - g

||| - h

|||| - text.txt

||| - text.txt

|| - text.txt

| - example01-use-listdir-print-file-tree.py

| - example02-use-scandir-print-file-tree.py

# 示例 - 列印文件樹

# run with python3.8

# 1. 使用 os.listdir() 列出當前目錄下的所有專案;

# 2、列印每個專案;

# 3、使用 os.path.isdir() 判斷其中的每個專案是否為乙個目錄,如果是則進入這個目錄並重複步驟123。

import os

defjoin

(path, item)

:if path ==

'.':

return item

return os.path.join(path, item)

defprint_file_tree

(path=

'.', level=1)

: items = os.listdir(path)

for item in items:

fill_path = join(path, item)

print

('|'

* level,

'-', item)

if os.path.isdir(fill_path)

: print_file_tree(fill_path, level +1)

if __name__ ==

'__main__'

: print_file_tree(

)

# 示例 - 列印文件樹

# run with python3.8

# 1. 使用 os.scandir() 返回乙個包含了條目物件的迭代器;

# 2、遍歷迭代器,列印每個條目物件的 name;

# 3、使用條目物件的 is_dir() 方法判斷當前的條目是否為乙個目錄,如果是則重複步驟123。

import os

defwalk_file_tree

(path=

'.', level=1)

: items = os.scandir(path)

for item in items:

print

('|'

* level,

'-', item.name)

if item.is_dir():

walk_file_tree(item, level +1)

if __name__ ==

'__main__'

: walk_file_tree(

)

僅供參考,沒準你有非常優雅的方式呢。

Python學習筆記(2) 遍歷目錄結構並列印

有時候想看一下專案中的目錄和檔案結構,用python實現 主要用到這幾個函式 import os os.getcwd 獲取當前執行程式的目錄 os.listdir path 取得path下的檔案和目錄,返回值list型別 os.path.isdir path 判斷path路徑是否為目錄 os.pat...

使用python遍歷目錄

要求 使用python遍歷目錄,並將目錄中所有檔名儲存到txt檔案裡。getfilesname coding cp936 import os import re import gl gl.rootdir os.getcwd outfilename gl.rootdir allfilenames.tx...

遍歷日誌檔案並列印

error reporting e all ini set display errors 1 function load file return contents function eliminate lines new dul line return new function qsort arra...