如何按升序遍历目录中的文件
How to go through files in directory in ascending order
我目前在我的目录中有一个特定的文件,我正在 Python 中浏览并使用 os.listdir 进行迭代。
该目录中的文件存储为这样的数字:
36
51
72
117
138
255
.
.
.
.
1095
2000
3001
4004
文件不是按此顺序迭代,而是根据文件中的第一个数字进行迭代。所以不是升序而是 1095->2000->3001->36->5001->51 等等。如何确保以正确的升序迭代?
我假设您已将文件名存储在列表中以供迭代,如果这样做,您所要做的就是:
fileList.sort()
然后像往常一样遍历它。
您可以使用 sorted:
sorted(os.listdir('path/to/dir'), key=int)
要确保顺序是数字,请执行 key=int
。函数 os.listdir returns 一个列表,要遍历它们只需执行以下操作:
for files in sorted(os.listdir('path/to/dir'), key=int)
我目前在我的目录中有一个特定的文件,我正在 Python 中浏览并使用 os.listdir 进行迭代。
该目录中的文件存储为这样的数字:
36 51 72 117 138 255 . . . . 1095 2000 3001 4004
文件不是按此顺序迭代,而是根据文件中的第一个数字进行迭代。所以不是升序而是 1095->2000->3001->36->5001->51 等等。如何确保以正确的升序迭代?
我假设您已将文件名存储在列表中以供迭代,如果这样做,您所要做的就是:
fileList.sort()
然后像往常一样遍历它。
您可以使用 sorted:
sorted(os.listdir('path/to/dir'), key=int)
要确保顺序是数字,请执行 key=int
。函数 os.listdir returns 一个列表,要遍历它们只需执行以下操作:
for files in sorted(os.listdir('path/to/dir'), key=int)