Znalazłem listę większości angielskich słów w Internecie, ale podziały linii mają styl unixowy (kodowany w Unicode: UTF-8). Znalazłem go na tej stronie: http://dreamsteep.com/projects/the-english-open-word-list.htmlJak przekonwertować LF na CRLF?
Jak mogę przekonwertować podziały wierszy na CRLF, aby móc je sprawdzać? Program, w którym będę je stosować, przechodzi przez każdą linię w pliku, więc słowa muszą być jedno w linii.
Jest to część pliku: bitbackbitebackbiterbackbitersbackbitesbackbitingbackbittenbackboard
Powinno być:
bit
backbite
backbiter
backbiters
backbites
backbiting
backbitten
backboard
Jak mogę przekonwertować moje pliki do tego typu? Uwaga: to 26 plików (po jednym na literę) z około 80 000 słów (więc program powinien być bardzo szybki).
Nie wiem od czego zacząć, ponieważ nigdy nie pracowałem z Unicode. Z góry dziękuję!
Korzystanie rU
jako parametr (jak sugerowane), z tego w moim kodu:
with open(my_file_name, 'rU') as my_file:
for line in my_file:
new_words.append(str(line))
my_file.close()
otrzymuję ten błąd:
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
addWords('B Words')
File "D:\my_stuff\Google Drive\documents\SCHOOL\Programming\Python\Programming Class\hangman.py", line 138, in addWords
for line in my_file:
File "C:\Python3.3\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 7488: character maps to <undefined>
Czy ktoś może mi pomóc z tym?
możesz ewentualnie znaleźć ten http://stackoverflow.com/questions/3891076/how-to-convert-windows-end-of-line-in-unix-end-of-line-cr-lf-to- Jeśli pomocna jest – dmi3y
Nie możesz sprawić, by twój program był w stanie obsłużyć oba typy zakończenia linii? –
@JamesMcLaughlin Mam już plik z listą słów. Ponadto nigdy nie używałem Unicode (jak wspomniano), więc nie wiem, jak obsługiwać tego typu zakończenia. –