使用 os.listdir 读取文件的顺序?
Order in which files are read using os.listdir?
执行以下代码时,Python 循环遍历提供的目录中的文件是否有顺序?它是按字母顺序排列的吗?我如何着手建立这些文件循环的顺序,按日期 created/modified 或按字母顺序)。
import os
for file in os.listdir(path)
df = pd.read_csv(path+file)
// do stuff
根据文档:"The list is in arbitrary order"
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
你问了几个问题:
- 是否有 Python 循环文件的顺序?
不,Python 不强加任何可预测的顺序。 docs 说 'The list is in arbitrary order'。如果顺序很重要,你必须强制执行。实际上,文件返回的顺序与底层操作系统使用的顺序相同,但不能依赖于此。
- 它是按字母顺序排列的吗?
可能不会。但即使是这样,你也不能依赖它。 (见上文)。
- 如何建立订单?
for file in sorted(os.listdir(path)):
执行以下代码时,Python 循环遍历提供的目录中的文件是否有顺序?它是按字母顺序排列的吗?我如何着手建立这些文件循环的顺序,按日期 created/modified 或按字母顺序)。
import os
for file in os.listdir(path)
df = pd.read_csv(path+file)
// do stuff
根据文档:"The list is in arbitrary order"
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
你问了几个问题:
- 是否有 Python 循环文件的顺序?
不,Python 不强加任何可预测的顺序。 docs 说 'The list is in arbitrary order'。如果顺序很重要,你必须强制执行。实际上,文件返回的顺序与底层操作系统使用的顺序相同,但不能依赖于此。
- 它是按字母顺序排列的吗?
可能不会。但即使是这样,你也不能依赖它。 (见上文)。
- 如何建立订单?
for file in sorted(os.listdir(path)):