2017-12-28 18 views
0

テキストファイルから単語を読み込み、この単語がxmlタグに存在するかどうかを確認しようとしていますが、ファイルには特殊文字が含まれています。 これはコードです:Python、XMLタグに文字列が存在するか確認してください

import lxml.objectify 
from lxml import etree 
import codecs 
import xml.etree.cElementTree as ET 
file_path = "C:\Users\HP\Downloads\Morphalou-2.0.xml" 
for event, elem in ET.iterparse(file_path, events=("start", "end")): 
    if elem.tag == 'orthography' and event =='start': 
     data = elem.text 
     f = codecs.open ('test.txt', encoding="ISO-8859-1") 
     for line in f: 
      check = line 
      if check in data: 
       print (check,":", "true") 
       break 
     else: 
       print (check,":", "false") 
       break 
    elem.clear() 

私はprint (check) TIPE、言葉は、私はそれを「ギャルソン」する方法axactlyに見えますが、私はテスト

 if check in data: 
       print (check,":", "true") 
       break 
     else: 
       print (check,":", "false") 
       break 

を追加するとき、これは私が得るものです:

(u'gar\xe7on', ':', 'false') 

結論結果は真でなければなりません。何か不足している、誰でもそれが何であるか知っていますか、助けてください!アドバイスありがとうございます。

+0

可能な複製(https://stackoverflow.com/questions/16471332/how-can-i-compare [どのように私はPythonで文字列にUnicodeのタイプを比較することができますか?] -a-unicode-type-to-a-string-in-python) – Joe

答えて

0

なぜこのように印刷しますか?

print (a,b,c) 

あなただけのような出力をフォーマットする場合:Pythonはあなたがタプルを印刷していると考えているので

print "%s:true" % check 

:trueの場合、このようにそれを行うにしてみてください。

これはサンプルです:の

+0

私はそれを試みましたが、これは私がプログラムを実行するときに出ました: あなたのプログラムにエラーがあります:fuctionに割り当てることはできません: 'print("%s:False "%check")です。 – Ran

関連する問題