python - python 在使用 os.listdir 时会跳过目录中的一些文件名并使用扩展名进行过滤
问题描述
我有一个包含 .txt 文件的目录。我需要提取该目录中的所有文件名以将其用于其他操作
我的问题是 os.lisdir 函数列出了目录中的所有文件,但是在我过滤了这些带有 .txt 扩展名的文件后,它会跳过 4 个文件。这就是我正在做的
dir_listing = os.listdir(path)
all_files = []
for item in dir_listing:
if ".txt" in item:
all_files.append(item)
return all_files
我在这 4 个跳过的文件中注意到的共同点是所有 4 个文件的名称都包含 _ mark.for ex:customer_details.txt
在过滤出这 4 个文件跳过的原因后,我无法弄清楚。任何帮助将不胜感激。
解决方案
你有append
两次。顺便说一句,如果您只是想检查下标,请使用endswith
method 而不是in
.
import os
path = './'
dir_listing = os.listdir(path)
all_files = []
for item in dir_listing:
if item.endswith(".txt"):
all_files.append(item)
print(all_files)
更新 我的文件及其结构:
landpacks-MacBook-Pro:xk tree
.
├── a.txt
├── b.txt
├── c.txtaa
├── d.py
├── e.txt
└── xk.py
0 directories, 6 files
landpacks-MacBook-Pro:xk python xk.py
['b.txt', 'a.txt', 'e.txt']
推荐阅读
- html - 将图像放在平行四边形内,没有曲率
- javascript - 在 javascript 中使用二维数组并尝试从中读取值会给出“未捕获的类型错误:无法读取未定义的属性 '0'”
- ms-access - 我正在尝试在访问中运行查询。当我使用 IIF 函数设置参数时,它无法正常工作。它没有读取字符串
- loops - 如何循环通过 Makefile (GNU) 中的文本文件?
- python - 动态python函数和exec混淆
- carrot2 - carott2 是否有用于 JIRA 集成的适配器,用于可视化 JIRA 票据收集
- jquery - 在第一个 div 中的 2 个 div 之间包装内容,删除第二个
- javascript - 如何在 React 中删除列表项 - 控制台中不显示错误
- scala - Akka Streams - 流大表
- backend - 清晰设计编程