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

仅列出当前目录中的文件

景志
2023-03-14
问题内容

在Python中,我只想列出当前目录中的所有文件。我不希望从任何子目录或父目录中列出文件。

似乎确实有类似的解决方案,但它们似乎对我不起作用。这是我的代码段:

import os
for subdir, dirs, files in os.walk('./'):
    for file in files:
      do some stuff
      print file

假设我在当前目录中有2个文件holygrail.py和Tim。我也有一个文件夹,其中包含两个文件-
我们称它们为Arthur和Lancelot。当我运行脚本时,这就是我得到的:

holygrail.py
Tim
Arthur
Lancelot

我对holygrail.py和Tim感到满意。但是我不想列出亚瑟(Arthur)和兰斯洛特(Lancelot)这两个文件。


问题答案:

只需使用os.listdiros.path.isfile替代的os.walk

例:

import os
files = [f for f in os.listdir('.') if os.path.isfile(f)]
for f in files:
    # do something

但在将此应用到其他目录时要小心,例如

files = [f for f in os.listdir(somedir) if os.path.isfile(f)].

这将不起作用,因为f它不是完整路径,而是相对于当前目录的路径。

因此,要过滤另一个目录,请执行 os.path.isfile(os.path.join(somedir, f))



 类似资料:
  • 在Python中,我只想列出当前目录中的所有文件。我不想从任何子目录或父目录中列出文件。 似乎也有类似的解决方案,但它们似乎不适合我。以下是我的代码片段: 假设我有两个文件,holygrail.py和蒂姆在我的当前目录。我也有一个文件夹,里面有两个文件——让我们称之为亚瑟和兰斯洛特。当我运行脚本时,这是我得到的: 我对holygrail.py和蒂姆很满意。但是亚瑟和兰斯洛特这两个文件,我不想列出来

  • 问题内容: 我正在用JAVA制作游戏,我想在jar中的某个目录中列出文件列表,这样我就可以确保列出要在游戏中使用的这些类的列表。 例如说我的罐子里有一个目录 我想 使用jar中另一个类的Java代码 获取该目录中所有.class文件的列表。 这样做的最佳代码是什么? 问题答案: 旧的Java1.4代码,但这会让您有一个主意:

  • 问题内容: 如何在当前目录及其子目录中显示所有大于10k字节的文件。 尝试过,但是没有用。 问题答案: 第一部分与@sputnicks答案相同,并成功查找目录中超过10k的所有文件(不要将k与K混淆),我的补充是,第二部分然后执行或ls列出(-l)文件通过人类可读的大小(-h)。如果愿意,可以取反h。当然是文件本身,而仅仅是文件的替代 在实践中会重复或: 将其显示为一条语句或: 更多\; vs +

  • 问题内容: 我有一个带有大类路径的Java项目-许多项目是从不同的.jar文件中导入的,这些文件已作为依赖项添加(通过Maven)。 我正在寻找一种编程方式,以列出来自当前项目的类路径上的所有项,即,从其他库和Java运行时环境本身中 排除 所有导入的类路径项。 我需要在运行时执行此操作,即它应该在实际的当前类路径下工作。 有什么好方法吗? 问题答案: 除非您创建自己的元数据,否则无法执行此操作。

  • 问题内容: “ java”如何知道要执行的类文件而不设置类路径。即,默认情况下它是否签入当前目录,或者我们也需要为当前目录设置类路径。 问题答案: 它首先检查当前目录。如果找不到该类,它将在类路径中搜索该类。 默认的类路径是当前目录。设置变量或使用命令行选项将覆盖默认值,因此,如果要在搜索路径中包括当前目录,则必须将其包括在新设置中。[ 来源 ]

  • 问题内容: 我需要从给定目录获取文件及其父目录的路径,但不包括它。 因此,例如,如果给我的方法指定path:作为路径,它将返回该目录及其下所有文件的路径。 因此,如果有子文件夹:,并且每个包含,则该方法的结果将是2个字符串,其中包含和 并且如果在其中有一个目录,该目录中有,则为该文件创建的字符串将为,并且如果还有其他子目录可以继续。 我的想法是我只想要文件上方的目录路径,而不是绝对路径,因此只希望