On Thu, Feb 19, 2009 at 12:07 PM, steven.oldner <steven.old...@gmail.com> wrote: > > On Feb 19, 12:40 pm, Mike Driscoll <kyoso...@gmail.com> wrote: > > On Feb 19, 12:32 pm, "steven.oldner" <steven.old...@gmail.com> wrote: > > > > > Simple question but I haven't found an answer. I program in ABAP, and > > > in ABAP you define the data structure of the file and move the file > > > line into the structure, and then do something to the fields. That's > > > my mental reference. > > > > > How do I separate or address each field in the file line with PYTHON? > > > What's the correct way of thinking? > > > > > Thanks! > > > > I don't really follow what you mean since I've never used ABAP, but > > here's how I typically read a file in Python: > > > > f = open("someFile.txt") > > for line in f: > > # do something with the line > > print line > > f.close() > > > > Of course, you can read just portions of the file too, using something > > like this: > > > > f.read(64) > > > > Which will read 64 bytes. For more info, check the following out: > > > > http://www.diveintopython.org/file_handling/file_objects.html > > > > - Mike > > Hi Mike, > > ABAP is loosely based on COBOL. > > Here is what I was trying to do, but ended up just coding in ABAP. > > Read a 4 column text file of about 1,000 lines and compare the 2 > middle field of each line. If there is a difference, output the line. > > The line's definition in ABAP is PERNR(8) type c, ENDDA(10) type c, > BEGDA(10) type c, and LGART(4) type c. > In ABAP the code is: > LOOP AT in_file. > IF in_file-endda <> in_file-begda. > WRITE:\ in_file. " that's same as python's print > ENDIF. > ENDLOOP. > > I can read the file, but didn't know how to look st the fields in the > line. From what you wrote, I need to read each segment/field of the > line? > > Thanks, > > Steve > -- > http://mail.python.org/mailman/listinfo/python-list
You could do something like this: f = open('file.txt', 'r') for line in f: a,b = line.split()[1:-1] # tokenize the string into sequence of length 4 and store two middle values in a and b if a != b: print line f.close() -- http://mail.python.org/mailman/listinfo/python-list