1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import re, os, glob, sys
rxcountpages = re.compile(r"/Type\s*/Page([^s]|$)", re.MULTILINE|re.DOTALL)
def count_pages(filename): data = file(filename,"rb").read() return len(rxcountpages.findall(data))
def sum_pages(args): if len(args) > 1: if args[1].endswith(".pdf"): return count_pages(args[1]) else: os.chdir(args[1]) total_pages = 0 fnames = glob.glob("./*.pdf") for fname in fnames: total_pages = total_pages + count_pages(fname) return total_pages
if __name__=="__main__": print(sum_pages(sys.argv))
|
Author:
Wyatt Jia
License:
Copyright (c) 2023 CC-BY-NC-4.0 LICENSE