Advertisement
Guest User

Untitled

a guest
Mar 6th, 2017
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.23 KB | None | 0 0
  1. from glob import glob
  2. import os
  3. import shutil
  4.  
  5.  
  6. def list_files(mydir=None, wildcard="*.*"):
  7.     if mydir:
  8.         files_spec = os.path.join(mydir, wildcard)
  9.     else:
  10.         files_spec = os.path.join(os.curdir, wildcard)
  11.  
  12.     files_list = [i.split("\\")[-1] for i in glob(files_spec)]
  13.     return files_list
  14.  
  15.  
  16. def read_list(file):
  17.     files = list()
  18.     with open(os.path.abspath(file), 'r') as f:
  19.         [files.append(line.strip()) for line in f]
  20.  
  21.     return files
  22.  
  23.  
  24. def main(arg):
  25.     ""
  26.     _list = os.path.abspath(arg.list)
  27.     _src = os.path.abspath(arg.src_dir)
  28.     _dest = os.path.abspath(arg.dest_dir)
  29.  
  30.     _listed = read_list(_list)
  31.     _dir_ls = list_files()
  32.  
  33.     try:
  34.         os.makedirs(_dest)
  35.         [shutil.copy(file, _dest) for file in _dir_ls if file in _listed]
  36.     except:
  37.         [shutil.copy(file, _dest) for file in _dir_ls if file in _listed]
  38.  
  39.  
  40. if __name__ == '__main__':
  41.     import argparse
  42.     parser = argparse.ArgumentParser()
  43.     parser.add_argument('src_dir', help='zrodlo plikow')
  44.     parser.add_argument('dest_dir', help='sciezka gdzie kopiujesz pliki')
  45.     parser.add_argument('--list', '-l', help='lista kopiowanych plikow')
  46.  
  47.     args = parser.parse_args()
  48.  
  49.     main(args)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement