examples/python/selectnames.py
import random
import multiprocessing
def select_name(filename):
with open(filename) as fh:
names = fh.read().splitlines()
return names[ random.randrange(len(names)) ]
def select_names(filename, count):
selected_names = []
with multiprocessing.Pool(count) as p:
selected_names = p.map(select_name, [filename] * count)
return selected_names
examples/python/forked-random/test_select_name.py
import sys
sys.path.append('..')
import selectnames
import random
def test_select_name():
random.seed(1)
name = selectnames.select_name('../../data/names.txt')
assert name == 'JESSICA'
random.seed(2)
name = selectnames.select_name('../../data/names.txt')
assert name == 'RUBY'
random.seed(11)
name = selectnames.select_name('../../data/names.txt')
assert name == 'JOSHUA'
examples/python/forked-random/test_select_names.py
import sys
sys.path.append('..')
import selectnames
import random
def test_select_names():
random.seed(1)
names = selectnames.select_names('../../data/names.txt', 3)
print(names)
examples/python/forked-random-override/test_select_names.py
import sys
sys.path.append('..')
print(sys.path)
import selectnames
import random
def test_select_names():
random.seed(1)
names = selectnames.select_names('../../data/names.txt', 3)
print(names)
examples/python/forked-random-override/random.py
##if __name__ == '__main__':
#def load():
#import sys
#print(sys.path)
#me = sys.path.pop(0)
#print(me)
#sys.path.append('/usr/lib/python2.7')
#print(sys.path)
#import random as rnd
import imp
print('xxx')
#rnd = imp.load_source('rnd', '/usr/lib/python2.7/random.py')
rnd = imp.load_source('rnd', '/usr/lib/python3.6/random.py')
first = True
def random():
global first
if first:
rnd.seed(42)
first = False
return rnd.random()
examples/python/forked-random-override/a.py
import random
print(random.random())
print(random.random())
print(random.random())