首页 > Python > Python  如何迭代给定目录中的文件?

Python  如何迭代给定目录中的文件?

上一篇 下一篇

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

如何以有效的方式做到这一点?

分割线

网友回答:

Python 3.6 版本的上述答案,使用 – 假设您将目录路径作为对象存储在名为 :osstrdirectory_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)
  • 用于替换为rglobglob('**/*.asm')rglob('*.asm')
    • 这就像调用 Path.glob() 时在给定的相对模式前面添加了“**/”
from pathlib import Path

pathlist = Path(directory_in_str).rglob('*.asm')
for path in pathlist:
     # because path is object not string
     path_in_str = str(path)
     # print(path_in_str)

原答案:

import os

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

分割线

网友回答:

这将遍历所有后代文件,而不仅仅是目录的直接子级:

import os

for subdir, dirs, files in os.walk(rootdir):
    for file in files:
        #print os.path.join(subdir, file)
        filepath = subdir + os.sep + file

        if filepath.endswith(".asm"):
            print (filepath)

分割线

网友回答:

您可以尝试使用 glob 模块:

import glob

for filepath in glob.iglob('my_dir/*.asm'):
    print(filepath)

从 Python 3.5 开始,您也可以搜索子目录:

glob.glob('**/*.txt', recursive=True) # => ['2.txt', 'sub/3.txt']

从文档中:

glob 模块根据 Unix shell 使用的规则查找与指定模式匹配的所有路径名,尽管结果以任意顺序返回。不进行波浪号扩展,但 *、? 和用 [] 表示的字符范围将正确匹配。

模板简介:该模板名称为【Python  如何迭代给定目录中的文件?】,大小是暂无信息,文档格式为.编程语言,推荐使用Sublime/Dreamweaver/HBuilder打开,作品中的图片,文字等数据均可修改,图片请在作品中选中图片替换即可,文字修改直接点击文字修改即可,您也可以新增或修改作品中的内容,该模板来自用户分享,如有侵权行为请联系网站客服处理。欢迎来懒人模板【Python】栏目查找您需要的精美模板。

相关搜索
  • 下载密码 lanrenmb
  • 下载次数 454次
  • 使用软件 Sublime/Dreamweaver/HBuilder
  • 文件格式 编程语言
  • 文件大小 暂无信息
  • 上传时间 04-20
  • 作者 网友投稿
  • 肖像权 人物画像及字体仅供参考
栏目分类 更多 >
热门推荐 更多 >
微信公众平台 微信文章 单页式简历模板 微信图片 响应式 html5 微信素材 微信模板 自适应 企业网站
您可能会喜欢的其他模板