0

以前、私はこれを尋ねました: Python 3.3 で一部の文字を 5 桁の Unicode 文字に変換する方法は?

しかし、今日、印刷すると大文字の U コードポイントが機能することがわかりましたが、ファイルで試してみると失敗することがわかりました。なんで?

import re

f = codecs.open('test.txt', 'r', encoding="utf-8")
g = codecs.open('test_output.txt', 'w', encoding="utf-8")
fin = f.read()
output = re.sub('m', '\U000243D0', fin)
g.write(output)
4

1 に答える 1

1

これは私にとってはうまくいきます:

import re

with open('/tmp/test.txt', 'w', encoding='utf8') as testfile:
    testfile.write("I don't go to school on mondays")

with open('/tmp/test.txt', 'r', encoding='utf8') as testfile, open('/tmp/test_output.txt', 'w', encoding='utf8') as testout:
    output = re.sub('m', '\U000243D0', testfile.read())
    testout.write(output)

with open('/tmp/test_output.txt', 'r', encoding='utf8') as testfile:
    print(repr(testfile.read()))

出力

"I don't go to school on ondays"
于 2013-02-05T13:31:31.497 に答える