Skip to content

Instantly share code, notes, and snippets.

@dskarataev
Last active May 19, 2016 16:45
Show Gist options
  • Save dskarataev/723e74f22c29adc5def32a712b2e12ee to your computer and use it in GitHub Desktop.
Save dskarataev/723e74f22c29adc5def32a712b2e12ee to your computer and use it in GitHub Desktop.
Getting average value of recursively read integers from files
import re
def get_numbers(filename):
numbers = []
try:
f = open(filename, 'r')
except IOError:
return numbers
for line in f:
line = line.strip()
if not line:
continue
if re.search('[^\d]+', line):
numbers.extend(get_numbers(line))
else:
numbers.append(int(line))
return numbers
def average(filename):
numbers = get_numbers(filename)
avg = numbers and float(sum(numbers)) / len(numbers) or 0
return avg
if __name__ == '__main__':
print average('testfile2323.txt')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment