comparison tests/seq.py @ 24360:f554f89a2038

tests: introduce 'seq.py' as a portable replacement for 'seq' OS X 10.6.8 doesn't have it, while 10.10 does. I'm not sure when it was added. It may be missing from other platforms as well. This currently doesn't handle the string manipulation options (-f, -s and -w in MinGW anyway), since there is currently no need for it. Since xrange defaults to starting at 0 instead of 1, and treats the end as exclusive instead of inclusive, the args need to be extracted instead of doing: xrange(*[int(a) for a in sys.argv[1:]]) Therefore, the step might as well be added, even though there is no current use.
author Matt Harbison <matt_harbison@yahoo.com>
date Tue, 17 Mar 2015 20:59:23 -0400
parents
children ff3be5a325bc
comparison
equal deleted inserted replaced
24359:521fe8287dd5 24360:f554f89a2038
1 #!/usr/bin/env python
2 #
3 # A portable replacement for 'seq'
4 #
5 # Usage:
6 # seq STOP [1, STOP] stepping by 1
7 # seq START STOP [START, STOP] stepping by 1
8 # seq START STEP STOP [START, STOP] stepping by STEP
9
10 import sys
11
12 start = 1
13 if len(sys.argv) > 2:
14 start = int(sys.argv[1])
15
16 step = 1
17 if len(sys.argv) > 3:
18 step = int(sys.argv[2])
19
20 stop = int(sys.argv[-1]) + 1
21
22 for i in xrange(start, stop, step):
23 print i