예제 #1
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_05_get3(self):
     ilf = ilff.ILFFFile('test.ilff', encoding='utf8')
     for i in range(3):
         l = ilf.getline(i)
         self.assertTrue(l == self.lines[i])
         print('L:', i, l, self.lines[i])
     ilf.close()
예제 #2
0
def run():
    ln1 = int(sys.argv[1])
    ln2 = int(sys.argv[2])
    fname = sys.argv[3]
    il = ilff.ILFFFile(fname)
    lns = il.getlinestxt(ln1, ln2)
    print(lns)
예제 #3
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_04_get(self):
     ilf = ilff.ILFFFile('test.ilff', mode='r', encoding='utf8')
     for i in range(6):
         l = ilf.getline(i)
         print('L:', i, '"%s"' % l, '"%s"' % self.lines[i % 3],
               l == self.lines[i % 3])
         self.assertTrue(l == self.lines[i % 3])
     ilf.close()
예제 #4
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_04_get2(self):
     ilf = ilff.ILFFFile('test.ilff', encoding='utf8')
     for i in range(2):
         l = ilf.getline(i)
         print('L:', i, '"%s"' % l)
         self.assertTrue(i != 0 or l == self.lines[0])
         self.assertTrue(i != 1 or l == self.lines[2])
     ilf.close()
예제 #5
0
def run():
    fname = sys.argv[1]
    empty = ''
    if len(sys.argv) > 2:
        empty = sys.argv[2]
    il = ilff.ILFFFile(fname, mode='r+')
    il.compact(empty=empty)
    il.close()
예제 #6
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_03_get2(self):
     ilf = ilff.ILFFFile('test.ilff', encoding='utf8')
     for i in range(3):
         l = ilf.getline(i)
         print('L:', i, '"%s"' % l)
         self.assertTrue(i == 1 or l == self.lines[i])
         self.assertTrue(i != 1 or l.strip() == "")
     ilf.close()
예제 #7
0
파일: getlines.py 프로젝트: aiandit/ilff
def run():
    ln1 = int(sys.argv[1])
    ln2 = int(sys.argv[2])
    fname = sys.argv[3]
    il = ilff.ILFFFile(fname)
    lns = il.getlines(ln1, ln2)
    for i in range(ln2):
        print(lns[i])
예제 #8
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_02_get(self):
     ilf = ilff.ILFFFile('test.ilff')
     for i in range(3):
         l = ilf.getline(i)
         print('L:', i, '"%s"' % l, '"%s"' % self.lines[i],
               l == self.lines[i])
         self.assertTrue(l == self.lines[i])
     ilf.close()
예제 #9
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_04_get2(self):
     ilf = ilff.ILFFFile('test.ilff', encoding='utf8')
     ilf.dumpIndex()
     for i in range(3):
         l = ilf.getline(i)
         print('L:', i, '"%s"' % l, '"%s"' % self.lines[i],
               l == self.lines[i])
         self.assertTrue(l == self.lines[i])
     ilf.close()
예제 #10
0
파일: TestMWrites.py 프로젝트: aiandit/ilff
 def threadWFun(arg):
     print(arg)
     ilf = ilff.ILFFFile('test.ilff', 'w', encoding='utf8')
     for i in range(2000):
         n = ilf.get_nlines()
         ilf.appendLine('{ "num": %d, "text": "%s"}' % (i, mktext(i)))
         time.sleep(0.01)
     ilf.close()
     print('write exit')
     return 0
예제 #11
0
파일: TestMWrites.py 프로젝트: aiandit/ilff
 def test_01_launchJobs(self):
     nwrt = 100
     tr = threading.Thread(target=self.threadRFun)
     for i in range(10):
         tw = threading.Thread(target=self.threadWFun)
         tw.start()
     time.sleep(1)
     tr.start()
     time.sleep(21)
     print('wait end')
     ilf = ilff.ILFFFile('test.ilff', 'w', encoding='utf8')
     ilf.close()
     ilf.remove()
예제 #12
0
파일: TestMWrites.py 프로젝트: aiandit/ilff
 def threadRFun(arg):
     print(arg)
     results = []
     t0 = time.time()
     print('rfun', arg)
     sys.stdout.flush()
     ilf = ilff.ILFFFile('test.ilff', 'r', encoding='utf8')
     for i in range(20):
         n = ilf.get_nlines()
         lns = ilf.getlines(n - 3, 3)
         print('r % 8.4f: % 4d' % (time.time() - t0, n))
         print(lns)
         for ln in lns:
             d = json.loads(ln)
             results.append(d['text'] != mktext(d['num']))
         time.sleep(1)
         sys.stdout.flush()
     ilf.close()
     res = min(results)
     print('read exit')
     return res
예제 #13
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_03_append(self):
     ilf = ilff.ILFFFile('test.ilff', mode='a', encoding='utf8')
     print(*map(lambda x: ilf.appendLine(x), self.lines))
     self.assertTrue(os.path.exists('test.ilff'))
     ilf.close()
예제 #14
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_01a_buildindex(self):
     ilf = ilff.ILFFFile('test.ilff')
     ilf.buildindex()
     ilf.close()
예제 #15
0
파일: testgetr.py 프로젝트: aiandit/ilff
import ilff

import sys

import random

import time

fname = sys.argv[1]

il = ilff.ILFFFile(fname)

start = 11100
ln = 2000

t0 = time.time()
l1 = il.getlinestxt(start, ln)
t1 = time.time()

print(t1-t0)

t0 = time.time()
l2 = "\n".join(open(fname).read().split('\n')[start:start+ln])
t1 = time.time()

print(t1-t0)

print(len(l1), len(l2))
assert(l1 == l2)
예제 #16
0
def run():
    fname = sys.argv[1]
    il = ilff.ILFFFile(fname, mode='a')
    il.buildindex()
    il.close()
예제 #17
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_03_erase(self):
     ilf = ilff.ILFFFile('test.ilff', mode="r+")
     ilf.eraseLine(1)
     ilf.close()
예제 #18
0
def run():
    fname = sys.argv[1]
    il = ilff.ILFFFile(fname)
    n = il.get_nlines()
    print(n)
    il.close
예제 #19
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_04_compact(self):
     ilf = ilff.ILFFFile('test.ilff', mode="r+")
     ilf.compact()
     ilf.close()
예제 #20
0
파일: testrewrite.py 프로젝트: aiandit/ilff
import ilff

import sys

import random

import time

fname = sys.argv[1]

il = ilff.ILFFFile('test.ilf', append=False)

t0 = time.time()
il.fromfile(open(fname))
t1 = time.time()

print('rewrite', t1-t0)

start = 6
ln = 2

t0 = time.time()
l1 = il.getlines(start, ln)
t1 = time.time()

il.close()

print(t1-t0)

t0 = time.time()
l2 = open('test.ilf', 'r').read().split('\n')[start:start+ln]
예제 #21
0
파일: getline.py 프로젝트: aiandit/ilff
def run():
    ln = int(sys.argv[1])
    fname = sys.argv[2]
    il = ilff.ILFFFile(fname)
    print(il.getline(ln))
예제 #22
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_01_create(self):
     ilf = ilff.ILFFFile('test.ilff', mode='w', encoding='utf8')
     self.assertTrue(os.path.exists('test.ilff'))
     ilf.close()
예제 #23
0
def run():
    fname = sys.argv[1]
    il = ilff.ILFFFile(fname)
    il.dumpIndex()
예제 #24
0
파일: TestWrites.py 프로젝트: aiandit/ilff
 def test_03_get1(self):
     ilf = ilff.ILFFFile('test.ilff', mode='r', encoding='utf8')
     l1 = ilf.getline(0)
     print('L1:', l1)
     self.assertTrue(l1 == 'aaa')
     ilf.close()