[Tutor] File parsing

spawgi at gmail.com spawgi at gmail.com
Thu Jun 16 21:59:20 CEST 2011


Output on your sample input -

$./file_reversing_program.py input.txt
"you? are how there, Hi"

you thank fine, doing am I.


On Fri, Jun 17, 2011 at 1:26 AM, <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()
>>     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,
>> 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.
>



-- 
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/20110617/573898a4/attachment.html>


More information about the Tutor mailing list