我遇到这个奇怪的问题。我必须获取文件夹中所有文件的列表,但是os.listdir()
的结果为我提供的列表长度与该文件夹中文件的确切数量不同。我还打印了此列表,以检查是否还需要其他东西。
TRAINING_FILES = os.listdir(TRAINING_DATA) # length = 7269
with open(LOG_DIR + 'output.txt', 'w') as f:
for p in TRAINING_FILES: f.write(p + '\n')
在此日志文件中,我只有.bin
个文件,因此可以正确处理内容。
在文件夹中,我用cmd + a
提取了所有文件,然后拖到外面以显示数字7268
,并且我还使用ls | wc -l
与终端进行了核对, 7268
个文件。
有什么我不知道的东西吗?
答案 0 :(得分:3)
我有一个建议给您:ls | wc -l
是否会为您提供除.
..
和.DS_Store
以外的所有文件。但是python os.listdir(path)
为您提供了.
和..
以外的所有文件。因此您丢失的文件只有.DS_Store
返回一个列表,其中包含由path给出的目录中条目的名称。该列表是任意顺序的。它不包括特殊条目“。”和“ ..”,即使它们存在于目录中。