[[WinError 2]]系统找不到指定的文件:'desktop.ini'

问题描述 投票:0回答:1

我正在尝试按创建日期对文件夹中的文件进行排序(首先创建的是最新文件)。以下命令:

import os

list1 = os.listdir(r'D:\Users\Pruthvi\Videos\Movies & TV Shows')
print(list1)

以任意顺序显示我的电影文件夹中的当前文件:

['desktop.ini', 'Friends.S05.1080p.BluRay.x264-TENEIGHTY[rartv]', 'Narcos.Mexico.S02.COMPLETE.1080p.NF.WEBRip.DDP5.1.Atmos.x264-NTG[TGx]', 'Rick.and.Morty.S04E09.1080p.WEBRip.x264-BTX[TGx]', 'South.Park.S01.1080p.BluRay.x264-SHORTBREHD[rartv]', 'Temp', 'The.Wolf.of.Wall.Street.2013.1080p.BluRay.AVC.DTS-HD.MA.5.1-SharpHD'] 

已经搜索了StackOverflow,该解决方案似乎在Windows上使用了以下内容:

list1.sort(key=os.path.getctime)

但是,这导致以下错误:

FileNotFoundError: [WinError 2] The system cannot find the file specified: 'desktop.ini'
python python-3.x python-3.7 python-os
1个回答
1
投票

如您所见,os.listdir函数为您提供没有任何文件夹路径的文件名。如果将这些名称之一传递给os.path.getctime,它将不知道在其中找到文件的文件夹,因此它将仅在当前文件夹中查找。除非当前文件夹与传递给os.listdir的文件夹相同,否则getctime将找不到相同的文件。

因此,为了解决它,您可以使当前文件夹成为提供文件名的文件夹,或者可以更改列表结构,以便列表包含完整的路径名,而不仅仅是文件名。

© www.soinside.com 2019 - 2024. All rights reserved.