fork download
  1. #!/usr/bin/env python3
  2.  
  3. import os
  4. import sys
  5. import shutil
  6. import glob
  7. import copy
  8. #フォルダ内のフォルダパスを取得
  9. curpathDir = os.getcwd()
  10. folders = glob.glob(os.path.join(curpathDir, '*'))
  11. #print("curpath="+curpathDir)
  12.  
  13. #前回フォルダ名を初期化する([アカウント名]-[開始日]-[終了日]-media)
  14. prevpath = ['xxxx', '9999999999999999999(999999999999999)','0000000000000000000(000000000000000)','media']
  15. curpath = ['xxxx', '9999999999999999999(999999999999999)','0000000000000000000(000000000000000)','media']
  16. newpath = ['xxxx', '9999999999999999999(999999999999999)','0000000000000000000(000000000000000)','media']
  17.  
  18. #for文で全部のフォルダを確認
  19. for folder in folders:
  20.  
  21. #"-"でセパレートする
  22. curpath = folder.split('-')
  23.  
  24.  
  25. #前回アカウント名と同じかを比較する
  26. if bool(prevpath[0] == curpath[0]) :
  27. # アカウントが同じなら現在のフォルダ→前のフォルダにファイルを移動する
  28. newpath = prevpath.copy()
  29. for p in os.listdir(folder):
  30. basep = os.path.basename(p)
  31. shutil.move(os.path.join(folder, p), "-".join(prevpath)+os.sep+basep)
  32.  
  33. #開始日を比較してを保持
  34. if prevpath[1][-16:-1] > curpath[1][-16:-1]:
  35. newpath[1] = curpath[1]
  36. #終了日を比較して新しい方を保持
  37. if prevpath[2][-16:-1] < curpath[2][-16:-1]:
  38. newpath[2] = curpath[2]
  39.  
  40. #現在のフォルダを削除する
  41. os.removedirs(folder)
  42.  
  43. if bool(newpath != prevpath):
  44. #日付に変更がある場合はフォルダ名を変更してnewpath → prevpath情報をコピー
  45. os.rename("-".join(prevpath), "-".join(newpath))
  46.  
  47. #日付に変更がない場合は何もしない
  48.  
  49. prevpath = newpath.copy()
  50.  
  51. else:
  52. #前回アカウント名と異なる場合は前回フォルダ名を更新して終わる
  53. prevpath = curpath.copy()
  54.  
  55. #終わり
  56.  
Success #stdin #stdout 0.04s 10576KB
stdin
Standard input is empty
stdout
Standard output is empty