私はプログラミングの初心者で、過去数か月間、空き時間に Python を勉強しています。私は、テキスト ファイル内でアメリカ語のスペルを英語のスペルに変換する小さなスクリプトを作成してみることにしました。
私は過去 5 時間、あらゆる種類のことを試してきましたが、最終的に目標にいくらか近づくものを思いつきましたが、まだそこにはありません!
#imported dictionary contains 1800 english:american spelling key:value pairs.
from english_american_dictionary import dict
def replace_all(text, dict):
for english, american in dict.iteritems():
text = text.replace(american, english)
return text
my_text = open('test_file.txt', 'r')
for line in my_text:
new_line = replace_all(line, dict)
output = open('output_test_file.txt', 'a')
print >> output, new_line
output.close()
物事を進めるにはかなり良い方法があると確信していますが、このスクリプトでは、私が抱えている問題は次のとおりです。
- 出力ファイルでは、行は 1 行おきに改行で書き込まれますが、元の test_file.txt にはこれがありません。このページの下部に表示されている test_file.txt の内容
- 行内のアメリカ式スペルの最初のインスタンスのみが英語に変換されます。
- 出力ファイルを追加モードで開きたくなかったのですが、このコード構造で 'r' を理解できませんでした。
この熱心な初心者に感謝します。
test_file.txt の内容は次のとおりです。
I am sample file.
I contain an english spelling: colour.
3 american spellings on 1 line: color, analyze, utilize.
1 american spelling on 1 line: familiarize.