diff --git a/read_file.py b/read_file.py new file mode 100644 index 0000000..567ae0c --- /dev/null +++ b/read_file.py @@ -0,0 +1,44 @@ +# Different methods to read from text files +# sr 11/18/2013 +# Python 3.x + +# Note: rb opens file in binary mode to avoid issues with Windows systems +# where '\r\n' is used instead of '\n' as newline character(s). + + +# A) Reading in Byte chunks +reader_a = open("file.txt", "rb") +chunks = [] +data = reader_a.read(64) # reads first 64 bytes +while data != "": + chunks.append(data) + data = reader_a.read(64) +if data: + chunks.append(data) +print (len(chunks)) +reader_a.close() + + +# B) Reading whole file at once into a list of lines +with open("file.txt", "rb") as reader_b: # recommended syntax, auto closes + data = reader_b.readlines() # data is assigned a list of lines +print (len(data)) + + +# C) Reading whole file at once into a string +with open("file.txt", "rb") as reader_c: + data = reader_c.read() # data is assigned a list of lines +print (len(data)) + + +# D) Reading line by line into a list +data = [] +with open("file.txt", "rb") as reader_d: + for line in reader_d: + data.append(line) +print (len(data)) + + + + +