Python 简单获取目录下的所有文件

1.使用 os.walk()

代码:

import os

path = "D:/test"
fns = [os.path.join(root,fn) for root, dirs, files in os.walk(path) for fn in files]
for f in fns:
    print f

结果: 路径或文件名为中文的话会显示乱码

C:\Python27\python.exe E:/Documents/test/aatest.py
D:/test\1.txt
D:/test\��.txt
D:/test\����\1.txt
D:/test\����\��.txt

Process finished with exit code 0

2. 使用 scandir.walk()

代码:

    import scandir

    path = "D:/test"
    fns = [os.path.join(root, fn) for root, dirs, files in scandir.walk(path) for fn in files]
    for f in fns:
        print f

结果:出现中文无乱码现象

C:\Python27\python.exe E:/Documents/test/aatest.py
D:/test\1.txt
D:/test\二.txt
D:/test\测试\1.txt
D:/test\测试\二.txt

Process finished with exit code 0

PS:

os.walk()的详细解释可以参考: http://www.runoob.com/python/os-walk.html

 

 

 

你可能感兴趣的:(Python 简单获取目录下的所有文件)