반응형
어느새 세이브 파일이 수천개며 16GB를 넘기 시작했다.
과거로 돌아갈 일도 별로 없고 용량만 많이 차지하니 조금 다이어트 시켜주기로 하였다.
하루에 수십건 씩 파일이 생겨있길래 중복되는 짜잘한 파일들을 지우고
그 날의 마지막 파일만 남기도록 하였다.
import os
import time
fdpath = ".\\"
def find_savefolder(fdpath: str) -> list:
savefd = []
subfds = [x[0] for x in os.walk(fdpath)]
for fd in subfds:
files = [x[2] for x in os.walk(fd)][0]
if len(files) == 0:
continue
elif not any("Autosave" in file for file in files):
continue
else:
savefd.append(fd)
return savefd
def run_cleaner(fd: str) -> bool:
files = [x[2] for x in os.walk(fd)][0]
savefile = [int(x.split()[-1].split(".")[0]) for x in files if "Autosave" in x]
del files
savefile = sorted(savefile)
for n, fpath in enumerate(savefile):
if n == len(savefile) - 1:
break
current_file = time.strftime(
"%Y-%m-%d",
time.localtime(os.path.getmtime(f"{fd}\\Autosave {fpath}.a7s")),
)
if current_file == time.strftime(
"%Y-%m-%d",
time.localtime(os.path.getmtime(f"{fd}\\Autosave {savefile[n + 1]}.a7s")),
):
os.remove(f"{fd}\\Autosave {fpath}.a7s")
name = fd.split("\\")[-1]
files = [x[2] for x in os.walk(fd)][0]
savefile_aft = [int(x.split()[-1].split(".")[0]) for x in files if "Autosave" in x]
print(f"{name}=>{savefile.__len__()}=>{savefile_aft.__len__()}")
pass
def main():
savefd = find_savefolder(fdpath)
if len(savefd) <= 0:
print("세이브폴더 찾기 실패")
return False
for fd in savefd:
run_cleaner(fd)
if __name__ == "__main__":
main()
input("ANY KEY TO EXIT")
fdpath에 내문서의 Anno1800폴더 등 save 파일이 저장되는 폴더를 지정해주고 python을 돌리거나,
첨부한 실행파일을 anno폴더에서 실행시키면 Autosave ####.a7s 파일들을 찾아 정리한다.
현재 2천개, 16GB의 세이브 파일은 120개 6GB로 줄어들었다.
반응형
'PC > Programming' 카테고리의 다른 글
Xpenology on Proxmox 삽질 후기 (0) | 2022.05.30 |
---|---|
Amazon Glacier 삭제가 힘드니 python으로... (0) | 2022.03.19 |
The More 더모어 신한카드 - Amazon balance 결제기 (0) | 2022.03.10 |
[Power automate desktop] 지정된 시각에 작동하도록 flow 짜기 (0) | 2021.03.14 |
[Power automate desktop] 사용 후기 (0) | 2021.03.13 |
댓글