I wrote a script which will convert a tab-delimited file to a fixed-width file, or a fixed-width file into a tab-delimited. It reads a config file which defines the field lengths, and uses it to convert either way.
Here's an example of the config file: 1:6,7:1,8:9,17:15,32:10 This converts a fixed-width file to a tab-delimited where the first field is the first six characters of the file, the second is the seventh, etc. Conversely, it converts a tab-delimited file to a file where the first six characters are the first tab field, right-padded with spaces, and so on. What I want to do is look at the file and decide whether to run the function to convert the file to tab or FW. Here is what works (mostly): x = inputFile.readline().split("\t") inputFile.seek(0) if len(x) > 1: toFW(inputFile) else: toTab(inputFile) The problem is that my file accepts the input file via stdin (pipe) or as an argument to the script. If I send the filename as an argument, everything works perfectly. If I pipe the input file into the script, it is unable to seek() it. I tried making a copy of inputFile and doing a readline() from it, but being a reference, it makes no difference. How can I check a line (or two) from my input file (or stdin stream) and still be able to process all the records with my function? Thanks, Shawn -- http://mail.python.org/mailman/listinfo/python-list