os.listdir retorna uma lista de nomes de arquivos. Com o
for file in filename
loop você está iterando sobre as letras nesses nomes de arquivo, e o primeiro nome de arquivo encontrado parece começar com um 'd' . Remova este loop.
Mais tarde no seu código
print(len(f))
lançará uma exceção, pois você não pode usar len com um identificador de arquivo. Se você deseja obter o tamanho do arquivo, use os.path.getsize ()