Bar*_*tee 38 python file-manager
我使用os.listdir它并且工作正常,但我也在列表中获得了子目录,这不是我想要的:我只需要文件.
我需要使用什么功能?
我也看着os.walk它似乎是我想要的,但我不确定它是如何工作的.
Mar*_*ers 44
你需要过滤掉目录; os.listdir()列出给定路径中的所有名称.你可以使用os.path.isdir()这个:
basepath = '/path/to/directory'
for fname in os.listdir(basepath):
path = os.path.join(basepath, fname)
if os.path.isdir(path):
# skip directories
continue
Run Code Online (Sandbox Code Playgroud)
os.walk()在引擎盖下做同样的工作; 除非你需要递归子目录,否则你不需要在os.walk()这里使用.
Ale*_*ton 21
这是列表理解形式的一个很好的小单行:
[f for f in os.listdir(your_directory) if os.path.isfile(os.path.join(your_directory, f))]
Run Code Online (Sandbox Code Playgroud)
这将return是list指定的文件名之一your_directory.
小智 8
import os
directoryOfChoice = "C:\\" # Replace with a directory of choice!!!
filter(os.path.isfile, os.listdir(directoryOfChoice))
Run Code Online (Sandbox Code Playgroud)
PS:os.getcwd()返回当前目录.
for fname in os.listdir('.'):
if os.path.isdir(fname):
pass # do your stuff here for directory
else:
pass # do your stuff here for regular file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
64209 次 |
| 最近记录: |