ファイルを読み込もうとしていて、各文字の間にスペースを入れて同じファイルに書き戻そうとしています。大文字と通常のセットが 1 つずつあります。
どちらのセットも普通に書けますが、両方とも普通に書けません。
これが私のコードです
import string
f = open('text.txt', 'r+')
file = f.read()
file = file.translate(None, string.whitespace)
file = file.translate(None, string.punctuation)
file = ' '.join(file)
file2 = file.upper()
f.seek(0)
f.write(file)
f.flush()
f.write(file2)
f.close()
しかし、残念ながらこれは機能しません。メモ帳で開くと、すべて意味不明です。Python で 2 回目に読み取ると、両方の文字列セットが完全に認識され、エラーになるまで意味不明になります。例えば:
Y A L E T T E R S A Y I N G ô C ƒ▬s ► É☺↨ ░☺≡≡≡ ≡≡≡
☺☺☺ Ç> ☺ ☺ ☺ ▼ ë☺ ☺
だったらエンディングは「面倒くさがり」でいい
したがって、すべての途中で、本来のように書くのではなく、意味不明になります。
これは、ファイルに書き込まなくても発生します。
print file returns perfect string
print file2 returns perfect string
temp = file + file2
print temp returns gibberish part of the way through
では、なぜ意味不明なメッセージが返されるのでしょうか? これを修正するにはどうすればよいでしょうか?