У меня есть сценарий быстрой и грязной сборки, который должен обновить пару строк в небольшом конфигурационном файле xml. Поскольку файл настолько мал, я использую заведомо неэффективный процесс обновления файла на месте только, чтобы держать вещи простыми:Вставка XML-элемента с Python
def hide_osx_dock_icon(app):
for line in fileinput.input(os.path.join(app, 'Contents', 'Info.plist'), inplace=True):
line = re.sub(r'(<key>CFBundleDevelopmentRegion</key>)', '<key>LSUIElement</key><string>1</string>\g<1>', line.strip(), flags=re.IGNORECASE)
print line.strip()
Идея заключается в том, чтобы найти <key>CFBundleDevelopmentRegion</key>
текст и вставить LSUIElement
содержимое прямо перед из этого. Я делаю что-то подобное в другой области, и он работает нормально, поэтому я думаю, что я просто что-то пропустил, но я этого не вижу.
Что я делаю неправильно?
Вы печатаете последней строки, потому что строка 'print' не имеет отступов достаточно далеко. Это ошибка отправки? –
Argh, no. Нет, это не ошибка. Ну, а не в сообщении. Это та часть, которую я просто не мог видеть. Если вы положите это в качестве ответа, я помету его как ответ. Спасибо за дополнительный набор глазных яблок. –
Готово; там, сделано, резиновая утка знает все секреты и никому не говорит. –