すべての54607印刷可能文字を含むテキストファイルを作成しようとしていますが、各行の長さは読みやすさのために80文字にしてください。エラーメッセージを返す改行文字をバイナリモードでテキストファイルに書き込む方法
utf_all = ' !"#$'...'
lines = '\n'.join(utf_all[i:i+80] for i in range(0, 54607, 80))
file = open('allchars.txt', 'w').write(lines)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 193-243: character maps to
<undefined>
私は文字をコードとバイナリモードで書き込みをしてみてください、それは改行\ nを無視して、1行に文字列全体を置くとに改行を追加した場合ファイルの終わり。
なぜバイナリモードでテキストファイルを開きますか?なぜファイルを開くときにエンコーディングを指定しないのですか?なぜあなたは印刷可能な文字が54607しかないと思いますか? –
デフォルトの書き込みモードはテキストです。バイナリモードで書くには 'open( 'filename'、 'wb')'を使います。 –
改行がどこで失敗しているのかわかりません。 – usr2564301