当前位置: 首页 > 面试题库 >

在Python中浏览文件和子文件夹

党俊健
2023-03-14
问题内容

我想浏览当前文件夹及其所有子文件夹,并获取所有扩展名为.htm | .html的文件。我发现可以找到一个对象是目录还是文件,如下所示:

import os

dirList = os.listdir("./") # current directory
for dir in dirList:
  if os.path.isdir(dir) == True:
    # I don't know how to get into this dir and do the same thing here
  else:
    # I got file and i can regexp if it is .htm|html

最后,我想将所有文件及其路径放在一个数组中。这样有可能吗?


问题答案:

您可以os.walk()用来递归遍历目录及其所有子目录:

for root, dirs, files in os.walk(path):
    for name in files:
        if name.endswith((".html", ".htm")):
            # whatever

要构建这些名称的列表,可以使用列表理解:

htmlfiles = [os.path.join(root, name)
             for root, dirs, files in os.walk(path)
             for name in files
             if name.endswith((".html", ".htm"))]


 类似资料:
  • 这个问题是本文的后续内容:Python-根据子文件夹和文件名重命名子文件夹中的文件。 我正在尝试遍历中子文件夹中的文件,并以指定的方式重命名每个文件。以下是我目前掌握的代码: 当我运行该行时,,它正确地显示保存在中的名为的文件将被重命名为。 但是,os.rename命令返回以下错误: "必须是字符串,而不是列表。" 这似乎是由于我在os.rename命令中使用了“文件名”。据我所知,os.rena

  • 我想在Excel 2010中使用vba循环浏览目录的文件。 在循环中,我需要: 文件名和 我已经编写了以下代码,如果文件夹中的文件不超过50个,它就可以正常工作,否则速度会慢得离谱(我需要它来处理带有 工作但速度太慢的代码(每100个文件15秒): 问题解决: 我的问题已通过以下解决方案得到解决:以特定方式使用(15000个文件为20秒),并使用命令检查时间戳 考虑到下面的另一个答案,20秒缩短为

  • 7.4.1.浏览文件系统 访问Android的文件系统有两种方式。一种是通过Eclipse,另一种是通过命令行。 Eclipse中提供了一个File Explorer工具供我们访问文件系统。要打开它,可以选择Window→Show View→Other…→Android→File Explorer,也可以单击右上角的DDMS中访问它。要打开DDMS,可以单击右上角的DDMS Perspective

  • 8.4. 文件系统浏览 除了能在共享服务器上读取任意文件之外,攻击者还能建立一个可以浏览文件系统的脚本。由于你的大多数敏感文件不会保存在网站主目录下,此类脚本一般用于找到你的源文件的所在位置。请看下例: <pre> <?php if (isset($_GET['dir'])) { ls($_GET['dir']); } elseif (isset($_GET['file'])) { cat($_G

  • 问题内容: 我需要知道如何在Java中获取“文件夹浏览”对话框。我知道SWT。但是我需要摇摆吗?有什么解决办法吗? [当我们开始日食时,它将要求选择工作区。那时我们可以看到“浏览文件夹”对话框。 问题答案: 听起来好像您想使用JFileChooser。Oracle有很多关于基本Swing组件以及如何使用它们的教程。这是JFileChooser:link的教程页面。