如果文件大小超过一定数量,我想打印文件名及其目录。我写了一个并设置了1KB的标准,但即使有大量的文件大于1KB,它也不起作用。
import os, shutil
def deleteFiles(folder):
folder = os.path.abspath(folder)
for foldername, subfolders, filenames in os.walk(folder):
for filename in filenames:
if os.path.getsize(filename) > 1000:
print(filename + ' is inside: ' + foldername)
deleteFiles('C:\\Cyber\\Downloads')
我得到了什么'!
然后我在交互式shell中编写代码,我收到了以下错误:
Traceback (most recent call last):
File "<pyshell#14>", line 3, in <module>
if os.path.getsize(filename) > 100:
File "C:\Users\Cyber\Downloads\lib\genericpath.py", line 50, in getsize
return os.stat(filename).st_size
FileNotFoundError:
我想知道如何修复我的代码。
答案 0 :(得分:0)
替换:
deleteFiles('C:\\Cyber\\Downloads')
与
import os
a = 'c:' # removed slash
b = 'Cyber' # removed slash
c = 'Downloads'
path = os.path.join(a + os.sep, b, c)
deleteFiles(path)
答案 1 :(得分:0)
os
无法找到没有给定路径的文件,在您的代码之后,您必须重新指定绝对路径。取代
if os.path.getsize(filename) > 1000:
与
if os.path.getsize(os.path.abspath(foldername + "/" + filename)) > 1000:
它应该有用。