Appending an asterisk to the end of each line

Seymore4Head Seymore4Head at Hotmail.invalid
Tue Jul 5 20:05:20 EDT 2016


On Wed, 6 Jul 2016 01:05:12 +0100, MRAB <python at mrabarnett.plus.com>
wrote:

>On 2016-07-06 00:45, Seymore4Head wrote:
>> On Tue, 05 Jul 2016 19:29:21 -0400, Seymore4Head
>> <Seymore4Head at Hotmail.invalid> wrote:
>>
>>>On Tue, 5 Jul 2016 19:15:23 -0400, Joel Goldstick
>>><joel.goldstick at gmail.com> wrote:
>>>
>>>>On Tue, Jul 5, 2016 at 7:03 PM, MRAB <python at mrabarnett.plus.com> wrote:
>>>>> On 2016-07-05 23:05, Seymore4Head wrote:
>>>>>>
>>>>>> import os
>>>>>>
>>>>>> f_in = open('win.txt', 'r')
>>>>>> f_out = open('win_new.txt', 'w')
>>>>>>
>>>>>> for line in f_in.read().splitlines():
>>>>>>     f_out.write(line + " *\n")
>>>>>>
>>>>>> f_in.close()
>>>>>> f_out.close()
>>>>>>
>>>>>> os.rename('win.txt', 'win_old.txt')
>>>>>> os.rename('win_new.txt', 'win.txt')
>>>>>>
>>>>>>
>>>>>> I just tried to reuse this program that was posted several months ago.
>>>>>> I am using a text flie that is about 200 lines long and have named it
>>>>>> win.txt.  The file it creates when I run the program is win_new.txt
>>>>>> but it's empty.
>>>>>>
>>>>> Although it creates a file called "win_new.txt", it then renames it to
>>>>> "win.txt", so "win_new.txt" shouldn't exist.
>>>>>
>>>>> Of course, if there's already a file called "win_old.txt", then the first
>>>>> rename will raise an exception, and you'll have "win_new.txt" and the
>>>>> original "win.txt".
>>>>>
>>>>> --
>>>>> https://mail.python.org/mailman/listinfo/python-list
>>>>
>>>>Why don't you comment out the renames, and see what happens?
>>>
>>>I really don't care if the filename gets renamed or not.  I commented
>>>out the renames, but I still get a new file called win_new.txt and it
>>>is empty.
>>>
>>>The original is unchanged.
>>
>> I just tried this on a 3 line text file and it works.
>>
>> I am looking through the text file and have found at least two
>> suspicious characters.  One is a German letter and the other is a
>> characters that has been replaced by a square symbol.
>>
>That suggests to me that it's an encoding problem (the traceback 
>would've indicated that).
>
>Specify an encoding when you open the files:
>
>f_in = open('win.txt', 'r', encoding='utf-8')
>f_out = open('win_new.txt', 'w', encoding='utf-8')
>
>assuming that 'win.txt' is indeed encoded in UTF-8. (It might be 
>something like ISO-8859-1 instead.)

Thanks. 

It is working now that I removed those two characters.



More information about the Python-list mailing list