在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很满意。但是亚瑟和兰斯洛这两个文件我不想列出来。
发布于 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)) ]
发布于 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()
.
发布于 2019-11-09 01:46:31
您可以使用pathlib模块。
from pathlib import Path
x = Path('./')
print(list(filter(lambda y:y.is_file(), x.iterdir())))
https://stackoverflow.com/questions/11968976
复制相似问题