I am trying to parse through a file with consistent formatting: a header and several lines of text split by spacing. I want to start a new dictionary key when a line has one value, read the following lines into a list of lists with each list being the split words. I first tried to use this to try to get the program to identify the new marker and use an index counter to set a new key. I then initially used this to split the lines accordingly.
Here is what my code currently looks like:
import sys
def openfile(file):
    frames = {}
    index = 0
    with open(file, 'r') as f:
        for line in f:
            if line.strip() == '5310':
                index +=1
            else:
                newline = line
                print newline
                frames[index] = []
                frames[index].append([newline.split()])
        print frames
openfile(sys.argv[1])
The index will correctly count and 'print newline' is printing all of the lines that I want, but the dictionary that is finally printed is a nested list:
{1:[['last', 'line', 'of', 'input', 'file']]}
What I want instead is:
{1:[[line1],[line2] ...], 2:[[nextline], [nextline] ...], ... , key n : [[line], [line]....[lastline]]}
I have also tried:
def openfile(file):
    frames = {}
    index = 0
    with open(file) as f:
         for line in f:
            if str(line.strip()) == '5310':
                index += 1
            else:
                frames[index] = []
                frames[index].append([line.split()])
    return frames
This will also not work. This leaves me with two questions: 1: why will my current code print but not append the lines I want? 2. what else can I try to get this to work?
edit Thanks! I managed to get it to work. If someone is having a similar issue, here's my code that works:
import sys
def openfile(file):
    frames = {}
    index = 0
    with open(file, 'r') as f:
        for line in f:
            if line.strip() == '5310':
                index +=1
                frames[index] = []
            else:
                newline = line
                print newline
                frames[index].append([newline.split()])
        print frames
openfile(sys.argv[1])
 
    