Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在格式为page-0.ext的目录中对文件进行排序并获取第一个文件_Python_Python 2.7 - Fatal编程技术网

Python 在格式为page-0.ext的目录中对文件进行排序并获取第一个文件

Python 在格式为page-0.ext的目录中对文件进行排序并获取第一个文件,python,python-2.7,Python,Python 2.7,在一个满是basename-{0-padded-index}.ext格式文件的目录中,如何按排序顺序获取这些文件。文件名示例: b3a7c672b9a34da68c4caab04f758cd2-000.png b3a7c672b9a34da68c4caab04f758cd2-001.png b3a7c672b9a34da68c4caab04f758cd2-002.png ... b3a7c672b9a34da68c4caab04f758cd2-010.png b3a7c672b9a34da68c

在一个满是basename-{0-padded-index}.ext格式文件的目录中,如何按排序顺序获取这些文件。文件名示例:

b3a7c672b9a34da68c4caab04f758cd2-000.png
b3a7c672b9a34da68c4caab04f758cd2-001.png
b3a7c672b9a34da68c4caab04f758cd2-002.png
...
b3a7c672b9a34da68c4caab04f758cd2-010.png
b3a7c672b9a34da68c4caab04f758cd2-011.png
...
b3a7c672b9a34da68c4caab04f758cd2-099.png
b3a7c672b9a34da68c4caab04f758cd2-100.png
0填充索引(001、002、010等)不固定。它可以是两位数或更多的零填充。 一旦排序,我可以得到第一个文件,这是真正的问题

import os

filenames = os.listdir('path/to/directory')
filenames.sort(key=lambda s: int(s.rsplit('.', 1)[0].rsplit('-', 1)[1]))
first_one = filenames[0]

这里真正的技巧是
sort
中的关键函数,它获取文件名的相关部分并将其转换为
int
。因此,所有文件名都将按照文件扩展名前面的数字进行排序。让我检查一下。