Python path and append

Rob Gaddi rgaddi at highlandtechnology.invalid
Mon Apr 25 15:31:27 EDT 2016


Seymore4Head wrote:

> On Mon, 25 Apr 2016 18:24:02 -0000 (UTC), Rob Gaddi
> <rgaddi at highlandtechnology.invalid> wrote:
>
>>Seymore4Head wrote:
>>
>>> On Tue, 19 Apr 2016 18:29:38 -0400, Seymore4Head
>>> <Seymore4Head at Hotmail.invalid> wrote:
>>>
>>> I am going to forget using a directory path.
>>> I would like to take the file win.txt and append a space and the *
>>> symbol.
>>>
>>> f = open('win.txt', 'r+')
>>> for line in f:
>>>     f.read(line)
>>>     f.write(line+" *")
>>>
>>> This doesn't work.  Would someone fix it please?  It is for a task I
>>> am trying to accomplish just for a home task.
>>
>>"for line in f:" already means "make the variable line equal to each
>>line in f sequentially".  f.read is both superfluous and also doesn't do
>>that.  Leave it out entirely.
>>
>>The next problem you'll have is that iterating over the lines of the
>>file leaves the newline at the end of line, so your * will end up on the
>>wrong line.
>>
>>Do yourself a favor: https://docs.python.org/3/tutorial/inputoutput.html
>>isn't very long.
>
> I was reading that.  I have read it before.  I don't use python enough
> to even remember the simple stuff.  Then when I try to use if for
> something simple I forget how.
>
> f = open('wout.txt', 'r+')
> for line in f:
>     line=line.strip()
>     f.write(line+" *")
> f.close()
>
> Still broke.  How about just telling me where I missed?  Please?

Depends on what "broke" means.  I'm going to go out on a limb and guess
that the problem now is that you get no newlines at all, because they've
been stripped off of the line you read and .write doesn't put it back
on, in which case you should be adding " *\n" instead.  If that's not
it, then reply hazy, please concentrate and ask again.

-- 
Rob Gaddi, Highland Technology -- www.highlandtechnology.com
Email address domain is currently out of order.  See above to fix.



More information about the Python-list mailing list