<p>谢谢大家!你知道吗</p>
<p>一个小问题。在我的windows机器上,操作系统路径获取大小会报错号码。你知道吗</p>
<p><strong>更新</strong>:见下文</p>
<p>以下是最终代码:</p>
<pre><code>import os
import datetime
def get_size(start_path = '.'):
total_size = 0
for dirpath, dirnames, filenames in os.walk(start_path):
for f in filenames:
fp = os.path.join(dirpath, f)
total_size += os.path.getsize(fp)
return total_size
def cleanSpace(megs,path="c:/Users/i/Downloads/"):
list = []
for item in os.listdir(path):
fullitem=os.path.join(path, item)
if os.path.isdir(fullitem):
this_path = fullitem
stat = os.stat(fullitem)
this_atime = stat.st_atime
#print("Last access: ",this_atime)
#print("Last access: ",datetime.datetime.fromtimestamp(this_atime))
this_size = get_size(fullitem)
#size in MB
this_size = round(this_size/1048576)
list.append([fullitem,this_atime,this_size])
list = sorted(list, key=lambda x: x[1], reverse=False)
total_freed = 0
for folder in list:
if total_freed < megs:
#os.unlink(folder[0])
print(folder[0] + " - size: " + str(folder[2]))
total_freed = total_freed + folder[2]
else:
print("Total freed space (MB):",total_freed)
break
if total_freed < megs:
print("Not enough space freed")
cleanSpace(1100,)
</code></pre>
<p>对于文件夹大小,我现在使用函数get\u size()from <a href="https://stackoverflow.com/questions/1392413/calculating-a-directorys-size-using-python">Calculating a directory's size using Python?</a></p>