Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/python
- #
- # https://realpython.com/introduction-to-python-generators/
- #
- LARGE_FILE = "/home/ounis/pyapps/LARGE_FILE_4_TEST"
- import os
- import sys
- from time import sleep
- import random
- def gen_unexpected_err():
- while True:
- pass
- def wiatraczek():
- for i in range(616):
- sys.stderr.write("*{}\r".format(i))
- sys.stderr.flush()
- sleep(.005)
- print()
- def csv_yielder(file_name):
- wiatraczek = ["-", "\\", "|", "/", "-", "\\", "|", "/"]
- rows = 0
- lst = []
- for _ in open(file_name):
- # rows += 1
- # sys.stdout.write("Lines: {}\r".format(rows))
- # sys.stdout.flush()
- yield _
- # if rows > 1000000:
- # # ...
- # break
- ...
- def csv_reader(file_name):
- file = open(file_name)
- try:
- result = file.read().split("\n")
- except Exception as err:
- if isinstance(err, MemoryError):
- result = {"err_desc": [616, "memory error!!!"]}
- else:
- result = {"err_desc": [-1, "some unexpected error... {}".format(repr(err))]}
- return result
- def load_file():
- print("Loading...")
- # csv_gen = csv_reader(LARGE_FILE)
- csv_gen = csv_yielder(LARGE_FILE)
- rows = 0
- if isinstance(csv_gen, dict):
- print(csv_gen.get("err_desc")[1])
- else:
- for row in csv_gen:
- rows += 1
- print("\nRow count: {0}".format(rows))
- # wiatraczek()
- load_file()
- # 3674161
- # 64186394
- # 262441
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement