Advertisement
mylamour

after rename, filepaths is none

Jan 10th, 2018
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.10 KB | None | 0 0
  1.  
  2. ALLOWED = ('asp', 'aspx', 'jsp', 'jspx', 'php', 'ps1', 'psm1')
  3.  
  4. def allowedsuffix(filepath):
  5.     suffix = [x for x in os.path.basename(filepath).split('.') if x in ALLOWED]
  6.     if suffix:
  7.         return True
  8.  
  9.  
  10. def md5sumfile(file_full_path):
  11.     if(os.path.isfile(file_full_path)):
  12.         return hashlib.md5(open(file_full_path, 'rb').read()).hexdigest()
  13.     else:
  14.         return None
  15.  
  16. def walkdir(dir_path):
  17.     """
  18.        此处去重用于减少扫描速度.
  19.    """
  20.     filepath = []
  21.     for rt, dirs, files in os.walk(dir_path):
  22.         for f in files:
  23.             if allowedsuffix(f.lower()):
  24.                 # if f.lower().endswith(ALLOWED):
  25.                 # filepath.append()
  26.  
  27.                 _file_path = os.path.join(rt, f)
  28.                 tmp = {"md5": md5sumfile(_file_path), 'filepath': _file_path}
  29.  
  30.                 filepath.append(copy.deepcopy(tmp))
  31.  
  32.     res = cleanlistofdict(filepath, "md5")
  33.     filepaths = [x["filepath"] for x in res]
  34.  
  35.     return filepaths
  36.  
  37. filepaths = walkdir(yourpath)
  38. for item in filepaths:
  39.     os.rename(item,'{}'.format(md5sumfile(item))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement