Skip to content

Instantly share code, notes, and snippets.

@n1ywb
Last active August 2, 2020 22:51
Show Gist options
  • Save n1ywb/c3809cb9ce3a7a2e05198a9b7209dbf5 to your computer and use it in GitHub Desktop.
Save n1ywb/c3809cb9ce3a7a2e05198a9b7209dbf5 to your computer and use it in GitHub Desktop.
scrounge a dir tree for wanted files
from os import linesep, walk
from os.path import join
import sys
import re
output = sys.argv[1]
inputs = sys.argv[2:]
file_types = dict(
image='\.(jpg|jpeg|gif|png)$',
git='^\.git$',
pdf='\.pdf$',
notebook='\.ipynb$',
pyscript='\.py$',
cs_data='\.dat$',
cs_program='\.(.cri|.cr6|.dld)$'
)
out_files = {
k: open(join(output, k + '.txt'), 'w')
for k
in file_types.keys()
}
for input in inputs:
for dirpath, dirnames, filenames in walk(input):
files = dirnames + filenames
for file in files:
for file_type, pattern in file_types.items():
if re.search(pattern, file, re.I):
fqp = join(dirpath, file)
print("Found\t%s\t%s" % (file_type, fqp))
out_files[file_type].write( fqp + linesep)
continue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment