假设文件夹 A 包含以下文件:
0.jpg
1.jpg
2.jpg
.
.
.
n.jpg
.
.
.
Run Code Online (Sandbox Code Playgroud)
现在,python 脚本查看文件夹 A 并使用
for path, dirs, files in os.walk(path_to_A):
for filename in files:
fullpath = os.path.join(path, filename)
Run Code Online (Sandbox Code Playgroud)
读取filename(读取每个图像)并更新数组 B。数组 B 的大小与 A 中的图像数量完全相同。
我的问题是,数组的第 j 个位置是否总是对应于 j.jpg 图像文件?
例如,如果文件夹 A 中的名称不同(但按字典顺序排序 - 顺便说一句,当我们在 win 或 linux 操作系统中列出目录时,这真的是保留的字典顺序吗?)这会在数组 B 中描述吗?
谢谢!
不,第 j 个位置会(或至少 CAN)发生变化。来自文档(强调我的)
os.listdir(path='.')
返回一个包含路径给定目录中条目名称的列表。该列表按任意顺序排列,不包括特殊条目“.”。和 '..' 即使它们存在于目录中。
也就是说,如果您希望对它进行排序,则会sorted生成一个稳定的按字典顺序排序的列表。sorted(os.listdir("your/path/here"))[n]应始终指向第 n 个文件(除非您的目录更改内容!)
| 归档时间: |
|
| 查看次数: |
6165 次 |
| 最近记录: |