【问题标题】:list only files of a directory and ignore the subdirectories with python仅列出目录的文件并使用 python 忽略子目录
【发布时间】:2021-03-24 12:06:49
【问题描述】:

我想只列出一个目录的文件并跳过子目录。

当前代码还列出了子目录中的文件,但这不是我想要的:


import os 

list_files = []    
for root, dirs, files in os.walk(input_folder):
        for filename in files:
            joined = os.path.join(input_folder, filename)
            list_files.append(joined)

要处理的目录中的文件如下所示:

/headfolder/subfolder/subfile.pdf     #ignore this directory
/headfolder/subfolder2/subfile.pdf    #ignore this directory
/headfolder/file.pdf                  #get this path 
/headfolder/file2.pdf                 #get this path  

想要的输出:

['/headfolder/file.pdf','/headfolder/file2.pdf ']

【问题讨论】:

    标签: python path operating-system os.walk listdir


    【解决方案1】:
    files=[i for i in os.listdir() if os.path.isfile(i)]
    

    编辑:

    列出特定目录中的所有文件

    import os
    from os import listdir
    from os.path import isfile, join
    
    input_folder = 'headfolder/'
    list_files = []
    
    files = [f for f in listdir(input_folder) if isfile(join(input_folder, f))]
    for filename in files:
        joined = os.path.join(input_folder, filename)
        list_files.append(joined)
    
    print(list_files)
    

    【讨论】:

    • 我需要输入一个特定的目录,而不是当前目录。如果我这样做 os.listdir(input_folder) ,我会得到一个空列表作为输出。
    • 编辑正是我想要的,谢谢!
    猜你喜欢
    • 2011-02-23
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 2016-04-05
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多