快捷方式文件的 FileNotFoundError
FileNotFoundError for shortcut files
我正在尝试练习项目,删除不需要的文件(章节:组织文件,页码:213),来自使用 python 自动化枯燥任务一书。完整的问题陈述是,
一些不需要但非常大的文件或文件夹占用硬盘驱动器的大部分 space 的情况并不少见。如果您要释放计算机上的空间,删除 most 大量不需要的文件,您将获得 most 的收益。但首先你得找到它们。
编写一个遍历文件夹树并搜索异常的程序
较大的文件或文件夹——例如,文件大小超过
100MB。 (请记住,要获取文件的大小,您可以使用 os.path.getsize() 来自
os 模块。)将这些文件及其绝对路径打印到屏幕。
这是我的代码,
#!/usr/bin/python
# A program to walk a path and print all the files name with size above 100MB
import os
pathInput = os.path.abspath(input('Enter the path for the directory to search '))
for folder, subFolders, files in os.walk(pathInput):
for file in files:
file = os.path.join(folder, file)
if int(os.path.getsize(file)) > 100000000:
print('File located, Name: {fileName}, Location: {path}'.format(fileName=file, path=folder))
但是对于某些文件,我得到 FileNotFoundError
。所以,当尝试这个
#!/usr/bin/python
# A program to walk a path and print all the files name with size above 100MB
import os
pathInput = os.path.abspath(input('Enter the path for the directory to search '))
for folder, subFolders, files in os.walk(pathInput):
for file in files:
file = os.path.join(folder, file)
try:
if int(os.path.getsize(file)) > 100000000:
print('File {fileName} located at {path}'.format(fileName=file, path=folder))
except FileNotFoundError:
print('FileNotFoundError: {}'.format(file))
我发现是大小为零字节的快捷方式文件导致错误。
那么,我该如何克服这个错误呢?
python有没有功能是检查文件是否是快捷方式?
您可以使用 os.path.islink()
import os
pathInput = os.path.abspath(input('Enter the path for the directory to search '))
for folder, subFolders, files in os.walk(pathInput):
for file in files:
if not os.path.islink(file):
# rest of code
我正在尝试练习项目,删除不需要的文件(章节:组织文件,页码:213),来自使用 python 自动化枯燥任务一书。完整的问题陈述是,
一些不需要但非常大的文件或文件夹占用硬盘驱动器的大部分 space 的情况并不少见。如果您要释放计算机上的空间,删除 most 大量不需要的文件,您将获得 most 的收益。但首先你得找到它们。
编写一个遍历文件夹树并搜索异常的程序 较大的文件或文件夹——例如,文件大小超过 100MB。 (请记住,要获取文件的大小,您可以使用 os.path.getsize() 来自 os 模块。)将这些文件及其绝对路径打印到屏幕。
这是我的代码,
#!/usr/bin/python
# A program to walk a path and print all the files name with size above 100MB
import os
pathInput = os.path.abspath(input('Enter the path for the directory to search '))
for folder, subFolders, files in os.walk(pathInput):
for file in files:
file = os.path.join(folder, file)
if int(os.path.getsize(file)) > 100000000:
print('File located, Name: {fileName}, Location: {path}'.format(fileName=file, path=folder))
但是对于某些文件,我得到 FileNotFoundError
。所以,当尝试这个
#!/usr/bin/python
# A program to walk a path and print all the files name with size above 100MB
import os
pathInput = os.path.abspath(input('Enter the path for the directory to search '))
for folder, subFolders, files in os.walk(pathInput):
for file in files:
file = os.path.join(folder, file)
try:
if int(os.path.getsize(file)) > 100000000:
print('File {fileName} located at {path}'.format(fileName=file, path=folder))
except FileNotFoundError:
print('FileNotFoundError: {}'.format(file))
我发现是大小为零字节的快捷方式文件导致错误。
那么,我该如何克服这个错误呢? python有没有功能是检查文件是否是快捷方式?
您可以使用 os.path.islink()
import os
pathInput = os.path.abspath(input('Enter the path for the directory to search '))
for folder, subFolders, files in os.walk(pathInput):
for file in files:
if not os.path.islink(file):
# rest of code