1

Python 3.x でファイルへの書き込みに問題があります。FOR の書き込み関数は、utf-8 コーディングでチェコ語の記号を書き込んでいます。私はPythonが初めてですが、「utf-8」エンコーディング用にIDEおよび.py、.xmlファイルをセットアップしましたが、出力ファイルがそのように見える理由がわかりません。私のコード:

-*- coding: utf-8 -*-
from lxml import etree
from io import BytesIO
import sys
import codecs

f = open('uzivatelska_prirucka.xml','rb')
fo = open('try.xml','wb',1)

header = '?xml version="1.0" encoding="utf-8"?>\n<root\n'
fo.write(bytes(header,'UTF-8'))

some_file_like_object = f
tree = etree.parse(some_file_like_object)
root = tree.getroot() 
node = tree.xpath('/prirucka/body/p');

for a in node:
    for b in a.getiterator():
        if not (b.find('r') is None): 
            text = etree.tostring(b.find('r'))
            fo.write(bytes(str(text),'UTF-8'))

あなたの助けとアドバイスをありがとう

4

1 に答える 1