Czy to jest bezpieczne, aby sprawdzić, czy zmienna myvar
nie-None wartość po prostu:Sprawdź, czy węzeł xml ElementTree jest None/Fałsz
if myvar:
print('Not None detected')
Pytam bo mam ten zmienną i sprawdzał, czy zmienna nie była None
po prostu if variable:
, ale kontrola się nie udała. Zmienna zawiera niektóre dane, ale w wyniku sprawdzenia została wykonana wartość Fałsz w sprawdzeniu if
.
Pełny Kod:
from xml.etree import ElementTree as ElementTree
root = ElementTree.fromstring('Some xml string')
parameters = root.find('Some Tag')
udh = parameters.find('UDH')
if udh and udh.text: # In this line the check is failing, though the udh variable has value: <Element 'UDH' at 0x7ff614337208>
udh = udh.text
# Other code
else:
print('No UDH!') # Getting this output
To jest rzeczywiście błędne. '' if myvar: '' przy założeniu '' myvar'' jest '' None'' w rzeczywistości nie będzie wartościowane na '' True'' i dlatego Twoja próbka nie będzie działać. Najlepiej jednak jest użyć formularza: '' jeśli myvar nie jest Brak: '' lub '' if myvar jest Brak: '' –
Zostało tu udzielone: http://stackoverflow.com/questions/3965104/not-none -test-in-python – ka2m
Czy twoja kontrola nie działa, ponieważ nie ma tekstu w udh? Może to być pusty węzeł XML. – Midnighter