Very good question. Let me explain why I'm not opening me.txt directly in python with open.
The example I have posted is simplified for illustrative purpose. In reality, I'm not doing pexpect.spawn("/bin/tcsh"). I'm doing pexpect.spawn("ssh myuser@ipaddress"). Since I'm operating on a remote system, I can't simply open the file in my own python context. On Jan 15, 2:24 pm, Dennis Lee Bieber <wlfr...@ix.netcom.com> wrote: > On Sun, 15 Jan 2012 09:51:44 -0800 (PST), Saqib Ali > > <saqib.ali...@gmail.com> wrote: > >Now, clearly the file contains tabs. But when I cat it through expect, > >and collect cat's output, those tabs have been converted to spaces. > >But I need the tabs! > > >Can anyone explain this phenomenon or suggest how I can fix it? > > My question is: > > WHY are you doing this? > > Based upon the problem discription, as given, the solution would > seem to be to just open the file IN Python -- whether you read the lines > and use split() by hand, or pass the open file to the csv module for > reading/parsing is up to you. > > -=-=-=-=-=-=- > import csv > import os > > TESTFILE = "Test.tsv" > > #create data file > fout = open(TESTFILE, "w") > for ln in [ "abc", > "defg", > "hijA" ]: > fout.write("\t".join(list(ln)) + "\n") > fout.close() > > #process tab-separated data > fin = open(TESTFILE, "rb") > rdr = csv.reader(fin, dialect="excel-tab") > for rw in rdr: > print rw > > fin.close() > del rdr > os.remove(TESTFILE) > -=-=-=-=-=-=- > ['a', 'b', 'c'] > ['d', 'e', 'f', 'g'] > ['h', 'i', 'j', 'A'] > -- > Wulfraed Dennis Lee Bieber AF6VN > wlfr...@ix.netcom.com HTTP://wlfraed.home.netcom.com/ -- http://mail.python.org/mailman/listinfo/python-list