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

2021-06-26 02:43:23 字數 2574 閱讀 3470

有時候想看一下專案中的目錄和檔案結構,用python實現

主要用到這幾個函式

import os

os.getcwd()  #獲取當前執行程式的目錄

os.listdir(path) #取得path下的檔案和目錄,返回值list型別

os.path.isdir(path) #判斷path路徑是否為目錄

os.path.isfile(path)#判斷path路徑是否為檔案

os.path.splitext(path)#對path路徑切片,第二個為檔案拓展名,例如'.py'

**如下

import os

#只列印以下檔案拓展名

ctype = ['.py','.html','.css','.js','.sql']

def show_file(path,deep):

#取得當前目錄下的資料夾以及檔案,返回值list型別

file_list = os.listdir(path)

#實現遍歷目錄

for dir in file_list:

if os.path.isdir(path+'/'+dir):

if deep == 0:

print dir+'/'

else:

print '| '*deep+'+-'+dir+'/'

#遞迴列印

show_file(path+'/'+dir,deep+1)

#實現遍歷檔案

for file in file_list:

if os.path.isfile(path+'/'+file):

#過濾檔案

for type in ctype:

#對路徑切片獲得檔案拓展名

if os.path.splitext(path+'/'+file)[1] == type:

if deep == 0:

print file

else:

print '| '*deep+'+-'+file

break;

if __name__ == '__main__':

path = os.getcwd()

print path

show_file(path,0)

例如列印某一目錄結構:

/web/mycode/python/learn_web

serving_xml/

| +-templates/

| +-code.py

| +-__init__.py

basic_blog/

| +-templates/

| | +-new.html

| | +-base.html

| | +-index.html

| | +-edit.html

| | +-view.html

| | +-login.html

| +-scheme.sql

| +-model.py

| +-blog.py

| +-__init__.py

todo_list/

| +-templates/

| | +-base.html

| | +-index.html

| | +-admin.html

| +-model.py

| +-schema.sql

| +-todo.py

| +-__init__.py

方法二:

# coding=utf-8

__author__ = 'nianyu'

from os.path import basename, isdir, exists

from os import listdir

from sys import argv

def show_tree(path,depth=0):

print depth* '| ' + '|_', basename(path)

if(isdir(path)):

for item in listdir(path):

show_tree(path+'/'+item, depth+1)

def i***ist(path):

if path[0] is not '/':

return false

if not exists(path):

return false

return true

if __name__ == "__main__":

args = argv

if len(args)>2:

print "more than one argument."

exit(0)

path = str(args[1])

if not i***ist(path):

print "the file path do not exist."

exit(0)

# show_tree("./")

show_tree(path)

Python3 遍歷目錄樹

假定你希望對某個資料夾中的所有檔案改名,包括該資料夾中所有子資料夾中 的所有檔案。也就是說,你希望遍歷目錄樹,處理遇到的每個檔案。寫程式完成這 件事,可能需要一些技巧。好在,python 提供了乙個函式,替你處理這個過程。import os for foldername,subfolders,fil...

jquery 學習筆記3 遍歷

parent 返回被選元素的直接父元素。parents 方法返回被選元素的所有祖先元素,它一路向上直到文件的根元素 parentsuntil 方法返回介於兩個給定元素之間的所有祖先元素。document ready function children 方法返回被選元素的所有直接子元素 返回類名為 1...

Java學習筆記(6) 遍歷容器

iterator其實相當於乙個指標,他可以指向任何一種容器的的每乙個內容,通過iterator,我們可以更方便的管理容器中的元素,當然使用索引也可以達到iterator的效果,但是iterator的好處就是它適用於任何一種容器,無論是list set map。遍歷list方法一 普通for迴圈,根據...