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()
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)
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()
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()
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()
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()
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])
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()
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()
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
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()
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
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()
def test_01a_buildindex(self): ilf = ilff.ILFFFile('test.ilff') ilf.buildindex() ilf.close()
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)
def run(): fname = sys.argv[1] il = ilff.ILFFFile(fname, mode='a') il.buildindex() il.close()
def test_03_erase(self): ilf = ilff.ILFFFile('test.ilff', mode="r+") ilf.eraseLine(1) ilf.close()
def run(): fname = sys.argv[1] il = ilff.ILFFFile(fname) n = il.get_nlines() print(n) il.close
def test_04_compact(self): ilf = ilff.ILFFFile('test.ilff', mode="r+") ilf.compact() ilf.close()
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]
def run(): ln = int(sys.argv[1]) fname = sys.argv[2] il = ilff.ILFFFile(fname) print(il.getline(ln))
def test_01_create(self): ilf = ilff.ILFFFile('test.ilff', mode='w', encoding='utf8') self.assertTrue(os.path.exists('test.ilff')) ilf.close()
def run(): fname = sys.argv[1] il = ilff.ILFFFile(fname) il.dumpIndex()
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()