-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdeleteuselessfiles.py
executable file
·40 lines (32 loc) · 1.38 KB
/
deleteuselessfiles.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# Giulio Marin
#
# 2016/07/01
import os
import shutil
def orderfolders(folder):
alldirs = [os.path.join(folder, d) for d in os.listdir(folder) if os.path.isdir(os.path.join(folder, d))]
alldirs.sort(key = lambda f: os.path.getmtime(f), reverse = True)
return alldirs
def deleteallbutlatestmodified(folder):
alldirs = [os.path.join(folder, d) for d in os.listdir(folder) if os.path.isdir(os.path.join(folder, d))]
# do not delete if there is only one directory
if len(alldirs) == 1:
print 'Only one directory left in %s' % folder
else:
latestmodified = getlatestmodifieddir(folder)
for d in alldirs:
if d == latestmodified:
continue
else:
print 'Removing: %s' % d
shutil.rmtree(d)
def getlatestmodifieddir(folder):
alldirs = [os.path.join(folder, d) for d in os.listdir(folder) if os.path.isdir(os.path.join(folder, d))]
latestmodifieddir = max(alldirs, key = os.path.getmtime)
return latestmodifieddir
if __name__ == '__main__':
# iOS DeviceSupport
deleteallbutlatestmodified(os.path.expanduser('~/Library/Developer/Xcode/iOS DeviceSupport'))
deleteallbutlatestmodified(os.path.expanduser('~/Library/Developer/Xcode/watchOS DeviceSupport'))
#deleteallbutlatestmodified(os.path.expanduser('~/Library/Developer/Xcode/iOS Device Logs'))