按大小排序文件时出现 FileNotFoundError
FileNotFoundError when sorting files by size
我正在尝试创建一个图像文件名列表,按文件大小排序:
path = '/home/onur/Desktop/dataset/'
images = sorted(os.listdir(path), key = os.path.getsize)
print(images)
但是我收到这个错误:
Traceback (most recent call last):
File "/home/onur/Desktop/image-downloader.py", line 98, in <module>
images = sorted(os.listdir(path), key = os.path.getsize)
File "/usr/lib/python3.9/genericpath.py", line 50, in getsize
return os.stat(filename).st_size
FileNotFoundError: [Errno 2] No such file or directory: 'image_535.jpg'
python 文件不在 /home/onur/Desktop/dataset/
中。它只是在桌面上,所以我想知道这是否是错误的原因。如果是这样,我该如何解决?
你是对的。问题是 os.path.getsize 如果文件不存在会引发错误。因为您的 Python 脚本在 /home/onur/Desktop
中并且传递给 os.path.getsize
的文件名只是 image_535.jpg
,所以 os.path.getsize
在您的桌面目录中查找该文件。由于文件不存在,os.path.getsize
引发错误。您可以 运行 这个来正确测试文件大小。
path = '/home/onur/Desktop/dataset/'
images = sorted(os.listdir(path), key=lambda f: os.path.getsize(os.path.join(path, f)))
print(images)
我正在尝试创建一个图像文件名列表,按文件大小排序:
path = '/home/onur/Desktop/dataset/'
images = sorted(os.listdir(path), key = os.path.getsize)
print(images)
但是我收到这个错误:
Traceback (most recent call last):
File "/home/onur/Desktop/image-downloader.py", line 98, in <module>
images = sorted(os.listdir(path), key = os.path.getsize)
File "/usr/lib/python3.9/genericpath.py", line 50, in getsize
return os.stat(filename).st_size
FileNotFoundError: [Errno 2] No such file or directory: 'image_535.jpg'
python 文件不在 /home/onur/Desktop/dataset/
中。它只是在桌面上,所以我想知道这是否是错误的原因。如果是这样,我该如何解决?
你是对的。问题是 os.path.getsize 如果文件不存在会引发错误。因为您的 Python 脚本在 /home/onur/Desktop
中并且传递给 os.path.getsize
的文件名只是 image_535.jpg
,所以 os.path.getsize
在您的桌面目录中查找该文件。由于文件不存在,os.path.getsize
引发错误。您可以 运行 这个来正确测试文件大小。
path = '/home/onur/Desktop/dataset/'
images = sorted(os.listdir(path), key=lambda f: os.path.getsize(os.path.join(path, f)))
print(images)