[Tutor] File parsing
G.nius.ck at gmail.com
G.nius.ck at gmail.com
Thu Jun 16 23:43:36 CEST 2011
instead of
14 last_char = eachline[len(eachline)-1]
do
14 last_char = eachline[-1] #Which is shorter but the same thing
On , spawgi at gmail.com wrote:
> Hello Neha,
> I think this script will do what you want and will also fix some of the
> issues in your original code -
> --------------------------------------------------------
> 1 #! /usr/bin/python
> 2
> 3 import curses.ascii
> 4 import string
> 5 import sys
> 6
> 7 with open(sys.argv[1],'r') as input:
> 8 for eachline in input:
> 9 eachline = eachline.strip('\n')
> 10 if curses.ascii.isalpha(eachline[0]):
> 11 first_char = ''
> 12 else:
> 13 first_char = eachline[0]
> 14 last_char = eachline[len(eachline)-1]
> 15 eachline = eachline.lstrip(first_char)
> 16 eachline = eachline.rstrip(last_char)
> 17 words = eachline.split(' ')
> 18 outline = first_char
> 19 for word in reversed(words):
> 20 outline = outline + str(word) + ' '
> 21 outline = outline.rstrip() + last_char + '\n'
> 22 print outline
> -----------------------------------------------------------------------------------
> It is much more explicit. It considers some special cases and gives the
> output in the format desired by you.
> Regards,
> SWP
> On Fri, Jun 17, 2011 at 12:21 AM, Neha P mywrkid at yahoo.com> wrote:
> Thanks James
> I guess i have to use the same code for text in yellow... seems like
> ther's no other way...
> Regards,
> Neha
> From: James Reynolds eire1130 at gmail.com>
> To: Neha P mywrkid at yahoo.com>
> Cc: "tutor at python.org" tutor at python.org>
> Sent: Thursday, June 16, 2011 2:43 PM
> Subject: Re: [Tutor] File parsing
> use split on the list to split it up. search each element for something
> like:
> if '"' == element[:-1]:
> if that evaluation is True, I would remove the quote mark from the word
> on the right side, and place a new one on the left side using something
> like '"' + element.
> I would do the same thing for the other side in the same for loop,
> instead the evaluation would be:
> if '"' == element[:1]:
> On Thu, Jun 16, 2011 at 1:03 PM, Neha P mywrkid at yahoo.com> wrote:
> Hi all,
> I know below query may sound silly, but can somebody suggest any better
> way of doing this:
> It would be helpful.
> I need to read a file line by line and print each line starting from the
> last word first:
> C:\Python26>type file_reversing_program.txt
> import sys
> import string
> f_obj=open(sys.argv[1],"r")
> for eachline in f_obj:
> eachline=eachline[ :-1] # to eliminate the trailing "\n"
> list_words=eachline.split(" ")
> list_words[0]=list_words[0]+"\n" # to add "\n" so that after line 1 is
> printed, line 2 should start on a new line
> list_words.reverse()
> sans-serif"> for every_word in list_words:
> print every_word, # 'comma' helps in printing words on same line,hence
> for last word we append "\n"
> f_obj.close()
> C:\Python26>type input_file.txt
> "Hi ther, how are you?"
> I are doing fine, thank you.
> C:\Python26>file_reversing_program.py input_file.txt
> you?" are how ther, "Hi
> you. thank fine, doing are I
> Is there a better way of doing the above program, mainly the text
> highlighted in yellow,
> serif">Also if that is settled can there be a logic for getting the ouput
> more properly formatted (for text in blue) ,
> say giving an output like :
> "you? are how ther, Hi"
> you. thank fine, doing are I
> Thanks,
> Neha
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
> _______________________________________________
> Tutor maillist - Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
> --
> http://spawgi.wordpress.com
> We can do it and do it better.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20110616/72bd69c2/attachment-0001.html>
More information about the Tutor
mailing list