Có an toàn để kiểm tra xem một biến myvar
đã không-Không giá trị bằng cách đơn giản:Kiểm tra xem nút xml ElementTree là None/False
if myvar:
print('Not None detected')
tôi yêu cầu này bởi vì tôi có một biến và đã được kiểm tra xem biến không phải là None
chỉ đơn giản là if variable:
nhưng kiểm tra đã không thành công. Biến chứa một số dữ liệu nhưng nó được đánh giá là False trong kiểm tra if
.
Full Code:
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
Điều này thực sự sai. '' nếu myvar: '' giả định '' myvar'' là '' None'' sẽ không thực sự đánh giá '' True'' và do đó mẫu của bạn sẽ không hoạt động. Tuy nhiên, thực hành tốt nhất để sử dụng biểu mẫu: '' nếu myvar không phải là None: '' hoặc '' nếu myvar là None: '' –
Đã được trả lời ở đây: http://stackoverflow.com/questions/3965104/not-none -test-in-python – ka2m
Không phải là kiểm tra của bạn thất bại vì không có văn bản trong udh? Nó có thể là một nút XML rỗng. – Midnighter