仅列出当前目录中的文件[重复]

2023-12-12

在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 很满意。但亚瑟和兰斯洛特这两个档案,我不想列出来。


只需使用os.listdir and os.path.isfile代替os.walk.

Example:

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))

(Thanks 因果关系以获得提示)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅列出当前目录中的文件[重复] 的相关文章

随机推荐