Python如何遍历给定目录中的文件?

发布于 2021-02-02 23:16:40

我需要遍历.asm给定目录内的所有文件并对它们执行一些操作。

如何有效地做到这一点?

关注者
0
被浏览
112
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    原始答案:

    import os
    
    for filename in os.listdir(directory):
        if filename.endswith(".asm") or filename.endswith(".py"): 
             # print(os.path.join(directory, filename))
            continue
        else:
            continue
    

    上面答案的Python 3.6版本,使用os-假设你将目录路径作为str对象包含在名为的变量中directory_in_str

    import os
    
    directory = os.fsencode(directory_in_str)
    
    for file in os.listdir(directory):
         filename = os.fsdecode(file)
         if filename.endswith(".asm") or filename.endswith(".py"): 
             # print(os.path.join(directory, filename))
             continue
         else:
             continue
    

    或递归地使用pathlib

    from pathlib import Path
    
    pathlist = Path(directory_in_str).glob('**/*.asm')
    for path in pathlist:
         # because path is object not string
         path_in_str = str(path)
         # print(path_in_str)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看