scan_dir.py 720 B

12345678910111213141516171819202122232425262728
  1. import os
  2. from typing import List
  3. def scan_dir(path, suffix: str = None):
  4. results = []
  5. files = os.listdir(path)
  6. for file in files:
  7. file_d = os.path.join(path, file)
  8. if os.path.isdir(file_d):
  9. results.extend(scan_dir(file_d, suffix))
  10. else:
  11. if (suffix and file.endswith(suffix)) or (not suffix):
  12. results.append(file_d)
  13. return results
  14. def batch_ln(files: List[str], target: str):
  15. cmd = 'ln -s {} {}'
  16. for f in files:
  17. if os.path.isfile(f):
  18. os.system(cmd.format(f, os.path.join(target, os.path.basename(f))))
  19. if __name__ == '__main__':
  20. fs = scan_dir('/home/zzh/ocr/pdf', 'pdf')
  21. batch_ln(fs, './all_pdf')