假设文件夹A包含以下文件:
0.jpg
1.jpg
2.jpg
.
.
.
n.jpg
.
.
.
现在,python脚本会查看文件夹A并使用
for path, dirs, files in os.walk(path_to_A):
for filename in files:
fullpath = os.path.join(path, filename)
读取filename
(读取每个图像)并更新数组B.
数组B的大小正好是A中的图像数量。
我的问题是,总是会出现数组第j个位置对应j.jpg图像文件的情况吗?
例如,如果文件夹A中的名称不同(但是按照字典顺序排序 - 顺便说一句,它是否真的是我们在win或linux OS中列出目录时保留的字典顺序?)这将在数组中描述乙
谢谢!
答案 0 :(得分:4)
不,第j个位置将(或至少CAN)变化。来自the docs(强调我的)
os.listdir(path='.')
返回一个列表,其中包含path给出的目录中的条目名称。 列表按任意顺序,不包含特殊条目'。'和'..'即使它们出现在目录中。
也就是说,如果你想对它进行排序,sorted
会产生一个稳定的按字典顺序排序的列表。 sorted(os.listdir("your/path/here"))[n]
应始终指向第n个文件(除非您的目录更改内容!)
答案 1 :(得分:0)