Greetings我有名为'10k‘的文件夹,其中包含名为1_left
1_right
的图像,如下所示。
我的python代码用来打印文件夹中的文件名:
main_file = '10k'
path = os.path.join(main_file,'*g')
files = glob.glob(path)
#l='10k\10_left.jpeg'
for f1 in files:
#print(os.path.basename(f1))
fstr=str(f1)
print(fstr)
当我打印时,输出很奇怪,它没有输出所需的名称:
请给我引路。
发布于 2018-06-03 03:06:37
在没有更多信息的情况下,我只能猜测您希望打印什么。
如果您想要的输出是先是1_left,然后是1_right,依此类推,就像它在您的文件夹中一样,原因是python对文件进行排序的方式与您的操作系统不同。
据我所知,files
只是一个列表。因此,您可以使用sort
和自定义键(如files.sort(key=lambda x: int(x.split("_")[0]))
)自己对其进行排序。这将按照列表开头的数字对列表进行排序,而字符串以外的其他数字的排序方式可能是您所期望的(因此,首先是1,然后是2,依此类推)。
https://stackoverflow.com/questions/50657628
复制相似问题