首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >仅列出当前目录中的文件

仅列出当前目录中的文件
EN

Stack Overflow用户
提问于 2012-08-15 20:07:21
回答 5查看 417.6K关注 0票数 280

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

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

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

假设我在当前目录中有两个文件,holygrail.py和Tim。我也有一个文件夹,里面有两个文件--让我们称它们为Arthur和Lancelot。当我运行这个脚本时,我得到的结果如下:

holygrail.py
Tim
Arthur
Lancelot

我对holygrail.py和Tim很满意。但是亚瑟和兰斯洛这两个文件我不想列出来。

EN

回答 5

Stack Overflow用户

发布于 2014-06-10 17:39:30

import os

destdir = '/var/tmp/testdir'

files = [ f for f in os.listdir(destdir) if os.path.isfile(os.path.join(destdir,f)) ]
票数 26
EN

Stack Overflow用户

发布于 2016-10-24 18:37:20

您可以使用os.scandir()。stdlib中的新函数从Python3.5开始。

import os

for entry in os.scandir('.'):
    if entry.is_file():
        print(entry.name)

os.listdir()更快。os.walk() implements os.scandir().

票数 13
EN

Stack Overflow用户

发布于 2019-11-09 01:46:31

您可以使用pathlib模块。

from pathlib import Path
x = Path('./')
print(list(filter(lambda y:y.is_file(), x.iterdir())))
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11968976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档