オンラインで英語の単語の大部分のリストが見つかりましたが、改行はUNIXスタイル(Unicode:UTF-8でエンコードされています)のものです。 http://dreamsteep.com/projects/the-english-open-word-list.htmlLFをCRLFに変換するにはどうすればよいですか?
改行をCRLFに変換して、それらを反復処理する方法を教えてください。私が使用するプログラムは、ファイル内の各行を通るため、1行に1つの単語が必要です。
これは、ファイルの一部です:bitbackbitebackbiterbackbitersbackbitesbackbitingbackbittenbackboard
それは次のようになります。
bit
backbite
backbiter
backbiters
backbites
backbiting
backbitten
backboard
がどのように私はこのタイプに自分のファイルを変換することができますか?注:合計で80,000語程度の26ファイル(1文字につき1ファイル)です(プログラムは非常に速くなければなりません)。
私はユニコードで作業したことがないので、どこから始めるべきか分かりません。前もって感謝します!パラメータとしてrU
を使用して
(提案されるように)、私のコードでこれを:
with open(my_file_name, 'rU') as my_file:
for line in my_file:
new_words.append(str(line))
my_file.close()
私はこのエラーを取得する:
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>
誰もがこれで私を助けることができますか?
あなたはおそらくこれを見つけることができますhttp://stackoverflow.com/questions/3891076/how-to-convert-windows-end-of-line-in-unix-end-of-line-cr-lf-to-役に立たなかった場合 – dmi3y
プログラムで両方のタイプの行末を処理できるようにできませんか? –
@JamesMcLaughlin私はすでに単語のリストを持つファイルを持っています。加えて、私はユニコードを使用したことはありません(記載されているように)ので、私はどのようにこれらのタイプのエンディングを処理するのか分かりません。 –