【问题标题】:make os.listdir() list complete paths使 os.listdir() 列出完整路径
【发布时间】:2014-09-04 05:11:52
【问题描述】:

考虑以下代码:

files = sorted(os.listdir('dumps'), key=os.path.getctime)

目标是根据创建时间对列出的文件进行排序。然而,由于 os.listdir 只给出了文件名而不是绝对路径的关键,即 os.path.getctime 抛出一个异常说

OSError: [Errno 2] No such file or directory: 'very_important_file.txt'

这种情况有解决方法还是我需要编写自己的排序函数?

【问题讨论】:

    标签: python os.path listdir


    【解决方案1】:

    您可以使用glob

    import os
    from glob import glob
    glob_pattern = os.path.join('dumps', '*')
    files = sorted(glob(glob_pattern), key=os.path.getctime)
    

    【讨论】:

    • 全球救援
    【解决方案2】:
    files = sorted(os.listdir('dumps'), key=lambda fn:os.path.getctime(os.path.join('dumps', fn)))
    

    【讨论】:

      【解决方案3】:
      files = sorted([os.path.join('dumps', file) for file in os.listdir('dumps')], key=os.path.getctime)
      

      【讨论】:

        【解决方案4】:

        这是另一种解决方案,如果它对某人更有效,则会产生一个 np 数组而不是列表。还是用os

        import numpy as np
        import os
        
        NPFileListFullURL=np.char.add(Folder_Path, os.listdir(Folder_Path))
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-03-16
          • 2018-06-27
          • 1970-01-01
          • 1970-01-01
          • 2019-04-25
          • 1970-01-01
          • 2018-10-27
          相关资源
          最近更新 更多