Rumah  >  Artikel  >  pembangunan bahagian belakang  >  如何列出一个目录的所有文件

如何列出一个目录的所有文件

anonymity
anonymityasal
2019-05-25 09:13:404182semak imbas

首先,这类需求用到文件及文件路径的操作,需要用到的库是os库、glob库。

如何列出一个目录的所有文件

实现需求的方式有许多:

NO.1 使用os.listdir

#!usr/bin/env python
#-*-coding:utf-8 -*-
 
import os
 
def main():
    '''
    输出该路径下所有的文件夹及文件名字
    '''
    dir_aim = raw_input("请输入目标路径:")
    for filename in os.listdir(dir_aim):
        print filename
if __name__=='__main__':
    main()

NO.2 使用glob 模块

#!usr/bin/env python
#-*-coding:utf-8 -*-
 
import glob
 
def main():
    '''
    输出该路径下所有的文件夹及文件的路径
    '''
    dir_aim = raw_input("请输入目标路径:")
    for filename in glob.glob(dir_aim):
        print filename
if __name__=='__main__':
    main()

可以通过添加限定来进行文件类型筛选

例如筛选exe文件:

\*.exe

NO.3 使用os.walk递归遍历

#!usr/bin/env python
#-*- utf-8 -*-
 
import os
 
def main():
    '''
    读取制定路径下的所有文件
    '''
    dir_aim = raw_input("请输入所要查看的文件目录:")
    for root, dirs, files in os.walk(dir_aim):
        print 'root:', root
        if files:
            print 'File:'
            for file in files:
                print file,
            print ''
        if dirs:
            for dir in dirs:
                print dir
 
if __name__=='__main__':
    main()

当文件路径下存在中文时,print会出现乱码

Atas ialah kandungan terperinci 如何列出一个目录的所有文件. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:怎么获得一个字符串的子串Artikel seterusnya:如何获取文件扩展名