国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python遍歷目錄的4種方法實例介紹

2019-11-25 17:45:39
字體:
來源:轉載
供稿:網友

1.os.popen運行shell列表命令

復制代碼 代碼如下:

def traverseDirByShell(path):
    for f in os.popen('ls ' + path):
        print f.strip()

2.利用glob模塊

glob.glob(path)返回帶目錄的文件名.通配符和shell相似.path不能包含shell變量.

復制代碼 代碼如下:

def traverseDirByGlob(path):
    path = os.path.expanduser(path)
    for f in glob(path + '/*'):
        print f.strip()

3.利用os.listdir(推薦)

該方法返回不帶根目錄的文件名或子目錄名

復制代碼 代碼如下:

def traverseDirByListdir(path):
    path = os.path.expanduser(path)
    for f in os.listdir(path):
        print f.strip()

4.利用os.walk(推薦)

返回一個包含3個項目的元組:當前目錄名稱,子目錄名稱,子文件名稱

復制代碼 代碼如下:

def traverseDirByOSWalk(path):
    path = os.path.expanduser(path)
    for (dirname, subdir, subfile) in os.walk(path):
        #print('dirname is %s, subdir is %s, subfile is %s' % (dirname, subdir, subfile))
        print('[' + dirname + ']')
        for f in subfile:
            print(os.path.join(dirname, f))

整合代碼:
復制代碼 代碼如下:

#!/usr/bin/python
import os
from glob import glob


def printSeparator(func):
    def deco(path):
        print("call method %s, result is:" % func.__name__)
        print("-" * 40)
        func(path)
        print("=" * 40)
    return deco

@printSeparator
def traverseDirByShell(path):
    for f in os.popen('ls ' + path):
        print f.strip()

@printSeparator
def traverseDirByGlob(path):
    path = os.path.expanduser(path)
    for f in glob(path + '/*'):
        print f.strip()

@printSeparator
def traverseDirByListdir(path):
    path = os.path.expanduser(path)
    for f in os.listdir(path):
        print f.strip()

@printSeparator
def traverseDirByOSWalk(path):
    path = os.path.expanduser(path)
    for (dirname, subdir, subfile) in os.walk(path):
        #print('dirname is %s, subdir is %s, subfile is %s' % (dirname, subdir, subfile))
        print('[' + dirname + ']')
        for f in subfile:
            print(os.path.join(dirname, f))

if __name__ == '__main__':
    path = r'~/src/py'
    traverseDirByGlob(path)

    traverseDirByGlob(path)

    traverseDirByListdir(path)

    traverseDirByOSWalk(path)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 萝北县| 宁南县| 新化县| 海城市| 五台县| 平度市| 井研县| 南充市| 双桥区| 海丰县| 镶黄旗| 赣榆县| 浏阳市| 汉中市| 鄂托克前旗| 武功县| 伊宁市| 蒲江县| 平谷区| 宜宾县| 壶关县| 稻城县| 神池县| 大邑县| 成都市| 城口县| 乐山市| 宜黄县| 商水县| 巴塘县| 郓城县| 松溪县| 铁力市| 长阳| 青铜峡市| 运城市| 且末县| 铅山县| 聂拉木县| 平昌县| 河源市|