怎麼讀出目錄裡面所有文件名

怎麼讀出目錄裡面所有文件名

請問怎麼讀出目錄中所有文件名?

包含子目錄

謝謝
dircache.listdir

用循环。好像python的递归有次数限制。
所以你目录足够深的话,可能递归不完。
参考os.listdir和os.walk函数

http://bbs.chinaunix.net/thread-574467-1-1.html


[Copy to clipboard] [ - ]
CODE:
#!/usr/bin/env python
import os
def filedir(path):
        st=os.walk(path)
        for i in st:
                for t in i[2] :
                        print t

filedir("D:\\test")

那请问要怎么再取得文件名的path?

os.getcwd() 可以吗?

谢谢
接着回答..请先看4楼的解答
代码中的i[2] //
i[1]可以列出全部的目录

你可以用path+i[1]中的目录名就是路径了.


QUOTE:
原帖由 shihyu 于 2008-5-23 14:51 发表
那请问要怎么再取得文件名的path?

os.getcwd() 可以吗?

谢谢

os.path.abspath()
hi  nameliba  

请问怎么印出所有路径 + 文件名

例如 root 目录在C:\ 下面


root 主目录下面有 A & B 两个子目录
A 子目录有 a.txt , b.txt
B 子目录有 c.txt , d.txt

要印出下面的

C:\\root\\A\\a.txt
C:\\root\\A\\b.txt
C:\\root\\B\\c.txt
C:\\root\\B\\c.txt


谢谢
result = []
for p in glob.glob("c:\\*":
    if os.path.isdir(p):
        result. extend(filter(lambda Xs.path.isfile(X),  glob.glob(os.path.join(p, '*') ) ) )
    else:
        result.append(p)

如果要多级的 自己去写 递归下 就差不多
问题已解决

谢谢