On Wed, 6 Jul 2016 01:05:12 +0100, MRAB <pyt...@mrabarnett.plus.com> wrote:
>On 2016-07-06 00:45, Seymore4Head wrote: >> On Tue, 05 Jul 2016 19:29:21 -0400, Seymore4Head >> <Seymore4Head@Hotmail.invalid> wrote: >> >>>On Tue, 5 Jul 2016 19:15:23 -0400, Joel Goldstick >>><joel.goldst...@gmail.com> wrote: >>> >>>>On Tue, Jul 5, 2016 at 7:03 PM, MRAB <pyt...@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. -- https://mail.python.org/mailman/listinfo/python-list