steven.oldner 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?
Yes you can get portions of the line by slicing: for line in open("infile"): if line[8:18] != line[18:28]: print line, Or you can use the struct module: import struct for line in open("infile"): pernr, endda, begda, lgart, dummy = struct.unpack("8s10s10s4s1s", line) if endda != begda: print line, I'm assuming that a row in your input file is just the fields glued together followed by a newline. Peter -- http://mail.python.org/mailman/listinfo/python-list