PyScanner is a Java-like input scanner.
This is very useful for reading input for programming contests such as ACM ICPC, Topcoder, Google Code Jam, and Facebook Hacker Cup.
And then in your python3 module include:
from scanner import Scanner
The following example allows to read a float from stdin:
# 3 0.5
sc = Scanner()
x = sc.next_int()
y = sc.next_float()
type(x) is int # True
type(y) is float # True
x + y # 3.5
The following code allows to read until EOF and obtain int types:
# Assume input is:
# 10 20 30
# 40 50 60
sc = Scanner()
sum = 0
sum += sc.next_int()
sum # 210
The default input stream is sys.stdin. However, it is possible to read from a file or even a string:
sc = Scanner(file='data.txt')
# do stuff
sc = Scanner(source='some string to use as input')
The scanner can also use string delimeters other than whitespace.
sc = Scanner(delim=',')
By default, the scanner does a str split. If forced, a regex pattern can also be used. As expected, the latter method is slower:
content = '1 fish 2.5 fish red fish blue fish
sc = Scanner(source=content, delim='\S*fish\S*', force_regex=True)
sc.next_int() # 1
sc.has_next() # True
sc.next_float() # 2.5
sc.next() # red
sc.next() # blue
sc.has_next() # False
TODO: example using the Scanner vs. standard Python way.
[THE BEER-WARE LICENSE](https://tldrlegal.com/license/beerware-license)
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.