Возможность обучения здесь. У меня есть ситуация, когда я обновляю некоторые свойства в файле. У меня есть функция, которая обновляет файл:Python возвращает false для if 'dialog-bmp' is 'dialog-bmp'
def update_tiapp(property, value):
print 'update_tiapp: updating "%s" to "%s"' % (property, value)
for line in fileinput.input(os.path.join(app_dir, 'tiapp.xml')): # , inplace=True
if property is 'version':
line = re.sub(r'(<version>).*?(</version>)', '\g<1>%s\g<2>' % value, line.strip(), flags=re.IGNORECASE)
elif property is 'brand':
line = re.sub(r'(<property name="brand" type="string">).*?(</property>)', '\g<1>%s\g<2>' % value, line.strip(), flags=re.IGNORECASE)'\g<1>%s\g<2>' % value, line.strip(), flags=re.IGNORECASE)
elif property is 'banner-bmp':
line = re.sub(r'(<banner-bmp>).*?(</banner-bmp>)', '\g<1>%s\g<2>' % value, line.strip(), flags=re.IGNORECASE)
elif property is 'dialog-bmp':
line = re.sub(r'(<dialog-bmp>).*?(</dialog-bmp>)', '\g<1>%s\g<2>' % value, line.strip(), flags=re.IGNORECASE)
elif property is 'url':
line = re.sub(r'(<url>).*?(</url>)', '\g<1>%s\g<2>' % value, line.strip(), flags=re.IGNORECASE)
Все условия являются штраф за исключением dialog-bmp
& banner-bmp
. По какой-то причине, что я не могу понять или найти, условие просто не будет соответствовать. Если я изменю свойство и условие на dialog
, python рад соответствовать и внести изменения для меня.
WAT ?!
Это легкое изменение, и я не против его создания, но я хотел бы понять.
Что это за дефис, который взрывает все? Разве мы не просто подбираем здесь строку, или что-то происходит под капотом, чего я не ожидал?
Ah. Просто изучая Python, и казалось, что это «есть», это то, что я видел во всех примерах. Спасибо за образование. –