X7ROOT File Manager
Current Path:
/lib64/python2.7/Demo/comparisons
lib64
/
python2.7
/
Demo
/
comparisons
/
??
..
??
README
(2.28 KB)
??
patterns
(30 B)
??
regextest.py
(1.48 KB)
??
regextest.pyc
(1.06 KB)
??
regextest.pyo
(1.06 KB)
??
sortingtest.py
(1.23 KB)
??
sortingtest.pyc
(1.02 KB)
??
sortingtest.pyo
(1.02 KB)
??
systemtest.py
(2.23 KB)
??
systemtest.pyc
(1.56 KB)
??
systemtest.pyo
(1.56 KB)
Editing: regextest.py
#! /usr/bin/python2.7 # 1) Regular Expressions Test # # Read a file of (extended per egrep) regular expressions (one per line), # and apply those to all files whose names are listed on the command line. # Basically, an 'egrep -f' simulator. Test it with 20 "vt100" patterns # against a five /etc/termcap files. Tests using more elaborate patters # would also be interesting. Your code should not break if given hundreds # of regular expressions or binary files to scan. # This implementation: # - combines all patterns into a single one using ( ... | ... | ... ) # - reads patterns from stdin, scans files given as command line arguments # - produces output in the format <file>:<lineno>:<line> # - is only about 2.5 times as slow as egrep (though I couldn't run # Tom's test -- this system, a vanilla SGI, only has /etc/terminfo) import string import sys import re def main(): pats = map(chomp, sys.stdin.readlines()) bigpat = '(' + '|'.join(pats) + ')' prog = re.compile(bigpat) for file in sys.argv[1:]: try: fp = open(file, 'r') except IOError, msg: print "%s: %s" % (file, msg) continue lineno = 0 while 1: line = fp.readline() if not line: break lineno = lineno + 1 if prog.search(line): print "%s:%s:%s" % (file, lineno, line), def chomp(s): return s.rstrip('\n') if __name__ == '__main__': main()
Upload File
Create Folder