我使用os.scandir
用於獲取文件夾中的文件列表:訪問第一個元素在os.scandir
img_list2 = os.scandir('/home/shared/test')
我想要得到的第一個元素。
我想img_list2.next()
>>> img_list2.next()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'posix.ScandirIterator' object has no attribute 'next'
所以,我想:
>>> filt = list(img_list2)
>>> type(filt)
<class 'list'>
>>> globals()['filt']
[<DirEntry 'panaroma00010.jpg'>, <DirEntry 'panaroma00014.jpg'>, <DirEntry 'panaroma00004.jpg'>, <DirEntry 'panaroma00013.jpg'>, <DirEntry 'panaroma00007.jpg'>, <DirEntry 'panaroma00011.jpg'>, <DirEntry 'panaroma00012.jpg'>, <DirEntry 'panaroma00006.jpg'>, <DirEntry 'panaroma00009.jpg'>, <DirEntry 'panaroma00001.jpg'>, <DirEntry 'panaroma00003.jpg'>, <DirEntry 'panaroma00005.jpg'>, <DirEntry 'panaroma00002.jpg'>, <DirEntry 'panaroma00008.jpg'>]
>>> filt[1]
<DirEntry 'panaroma00014.jpg'>
>>>
所以就像在列表中,我們可以得到的第一個元素的值,我們可以從os.scandir
怎麼做呢?
除了下面的答案,這裏是在Python 3迭代器的文檔:https://docs.python.org/3/library/stdtypes.html#iterator-types。它說迭代器只有'魔術'函數'__iter__'和'__next__'。 –