有時候想看一下專案中的目錄和檔案結構,用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迴圈,根據...