10

When performing the following code, is there an order in which Python loops through files in the provided directory? Is it alphabetical? How do I go about establishing an order these files are loops through, either by date created/modified or alphabetically).

import os
for file in os.listdir(path)
    df = pd.read_csv(path+file)
    // do stuff
4

2 回答 2

20

你问了几个问题:

  • Python 是否有循环文件的顺序?

不,Python 不会强加任何可预测的顺序。文档说“列表是任意顺序的”。如果命令很重要,你必须强加它。实际上,这些文件是按照底层操作系统使用的相同顺序返回的,但不能依赖于此。

  • 是按字母顺序的吗?

可能不是。但即使是你也不能依赖它。(看上面)。

  • 我如何建立订单?

for file in sorted(os.listdir(path)):

于 2017-06-13T22:39:12.253 回答
2

根据文档:“列表按任意顺序排列”

https://docs.python.org/3.6/library/os.html#os.listdir

如果您希望建立一个订单(在这种情况下按字母顺序排列),您可以对其进行排序。

import os
for file in sorted(os.listdir(path)):
    df = pd.read_csv(path+file)
    // do stuff
于 2017-06-13T22:38:12.513 回答