os.listdir()给出了不正确的文件列表

时间:2018-10-23 08:54:04

标签: python python-2.7

我遇到这个奇怪的问题。我必须获取文件夹中所有文件的列表,但是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个文件。

有什么我不知道的东西吗?

1 个答案:

答案 0 :(得分:3)

我有一个建议给您:ls | wc -l是否会为您提供除. ...DS_Store以外的所有文件。但是python os.listdir(path)为您提供了...以外的所有文件。因此您丢失的文件只有.DS_Store

os.listdir(path)

  

返回一个列表,其中包含由path给出的目录中条目的名称。该列表是任意顺序的。它不包括特殊条目“。”和“ ..”,即使它们存在于目录中。