Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,31 @@
|
|||
import sys
|
||||
from Queue import Queue
|
||||
from threading import Thread
|
||||
|
||||
lines = Queue(1)
|
||||
count = Queue(1)
|
||||
|
||||
def read(file):
|
||||
try:
|
||||
for line in file:
|
||||
lines.put(line)
|
||||
finally:
|
||||
lines.put(None)
|
||||
print count.get()
|
||||
|
||||
def write(file):
|
||||
n = 0
|
||||
while 1:
|
||||
line = lines.get()
|
||||
if line is None:
|
||||
break
|
||||
file.write(line)
|
||||
n += 1
|
||||
count.put(n)
|
||||
|
||||
reader = Thread(target=read, args=(open('input.txt'),))
|
||||
writer = Thread(target=write, args=(sys.stdout,))
|
||||
reader.start()
|
||||
writer.start()
|
||||
reader.join()
|
||||
writer.join()
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
count = 0
|
||||
|
||||
def reader():
|
||||
for line in open('input.txt'):
|
||||
yield line.rstrip()
|
||||
print('Printed %d lines.' % count)
|
||||
|
||||
r = reader()
|
||||
# printer
|
||||
for line in r:
|
||||
print(line)
|
||||
count += 1
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
def reader():
|
||||
for line in open('input.txt'):
|
||||
yield line.rstrip()
|
||||
count = yield None
|
||||
print('Printed %d lines.' % count)
|
||||
|
||||
r = reader()
|
||||
|
||||
# printer
|
||||
for count, line in enumerate(r):
|
||||
if line is None:
|
||||
break
|
||||
print(line)
|
||||
try:
|
||||
r.send(count)
|
||||
except StopIteration:
|
||||
pass
|
||||
Loading…
Add table
Add a link
Reference in a new issue