Problem while doing a cat on a tabbed file with pexpect
Saqib Ali
saqib.ali.75 at gmail.com
Sun Jan 15 19:11:27 EST 2012
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 at 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... at ix.netcom.com> wrote:
> On Sun, 15 Jan 2012 09:51:44 -0800 (PST), Saqib Ali
>
> <saqib.ali... at 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... at ix.netcom.com HTTP://wlfraed.home.netcom.com/
More information about the Python-list
mailing list